Skip to content

mingolm/go-redis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-redis

实现一个 redis 客户端,目的是了解 redis 协议

package main

import (
	"context"
	"errors"
	"fmt"
	go_redis "github.com/mingolm/go-redis"
	"github.com/mingolm/go-redis/proto"
	"time"
)

func main() {
	redis := go_redis.NewClient(&go_redis.Options{
		Addr:     "127.0.0.1:6379",
		Password: "",
	})

	var (
		key = "name"
		ctx = context.Background()
	)

	err := redis.Set(ctx, key, "mingo", time.Second).Err()
	if err != nil {
		panic(err)
	}

	val, err := redis.Get(ctx, key).Result()
	if err != nil {
		panic(err)
	}

	if val != "mingo" {
		panic(errors.New("redis internal error"))
	}

	time.Sleep(time.Second)

	// test key expire
	if err = redis.Get(ctx, key).Err(); err != proto.Nil {
		panic(errors.New("redis internal error"))
	}

	fmt.Println("ok")
}

About

实现一个简单的 redis 客户端

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages