示例代码
package main
import (
"github.com/gomodule/redigo/redis"
"fmt"
)
type RedisClient struct {
Conn redis.Conn
}
func main() {
conn,err := GetRedisConn()
if err != nil {
fmt.Printf("get redis conn failed,err:%v\n",err)
return
}
client := RedisClient{Conn:conn}
defer client.Conn.Close()
// ZRANGE
mp,err := client.ZrangeWithScores("test",0,-1)
if err != nil {
fmt.Print("command failed,err:%v\n",err)
} else {
fmt.Printf("command succ\n")
for k,v := range mp {
fmt.Printf("key:%s,value:%s\n",k,v)
}
}
fmt.Println("done")
}
func GetRedisConn() (redis.Conn,error) {
conn,err := redis.Dial("tcp","127.0.0.1:6379")
if err != nil {
return nil,err
}
_,err = conn.Do("AUTH","123456")
if err != nil {
return nil,err
}
return conn,nil
}
// key不存在时,error == nil
func (c *RedisClient) Get(key string) (string,error) {
return redis.String(c.Conn.Do("GET",key))
}
// key不存在时,error == nil
func (c *RedisClient) ZrangeWithScores(key string,start,stop int) (map[string]string,error) {
return redis.StringMap(c.Conn.Do("ZRANGE",key,start,stop,"WITHSCORES"))
}
先写这么多吧。