Go-redis-server 是使用 Go 实现 Redis 服务协议的开发包。
有许多客户端能够实现 redis 协议,但很多服务器不能实现。
go-redis-server 不仅能通过 redis 协议,帮助构建服务器软件;还能够作为 redis 实现的候选者,能够只从 redis,甚至在后端“伪装”执行 redis 数据库的 API。
简单代码示例:
package main import ( redis "github.com/dotcloud/go-redis-server" ) type MyHandler struct { values map[string][]byte } func (h *MyHandler) GET(key string) ([]byte, error) { v := h.values[key] return v, nil } func (h *MyHandler) SET(key string, value []byte) error { h.values[key] = value return nil } func main() { handler, _ := redis.NewAutoHandler(&MyHandler{values: make(map[string][]byte)}) server := &redis.Server{Handler: handler, Addr: ":6389"} server.ListenAndServe() }