Go 實現 Redis 服務協議的開發包:Go-redis-server

e2ex 9年前發布 | 19K 次閱讀 Redis NoSQL數據庫 Go-redis-server

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()
}

項目主頁:http://www.baiduhome.net/lib/view/home/1431590886576

 本文由用戶 e2ex 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!