redis第三方库
github.com/go-redis/redis 这个库自带连接池
*redis.Client
```// 声明全局变量
var redisdb *redis.Client
// Background返回一个非空的Context
var ctx = context.Background()
// 初始化连接
func iniRedis() (err error) {
redisdb = redis.NewClient(&redis.Options{
Addr: "127.0.0.1:6379",
Password: "",
DB: 0,
})
_, err = redisdb.Ping(ctx).Result()
return
}
func main() {
err := iniRedis()
if err != nil {
fmt.Printf("connect redis failed,err:%v\n", err)
return
}
fmt.Println("连接成功")
// ZAdd添加元素
key := "rank"
items := []redis.Z{
{Score:90, Member: "PHP"},
{Score:93, Member: "PYTHON"},
{Score:95, Member: "GO"},
}
// 把元素都谁家到key
redisdb.ZAdd(ctx, key, items...)
// 给GO增加分数
newScore, err := redisdb.ZIncrBy(ctx, key, 10.0, "GO").Result()
if err != nil {
fmt.Printf("zincrby failed,err%v\n", err)
return
}
fmt.Printf("GO SCORE IS %v NOW\n", newScore)
}
Ping()内需要传值,不然会飘红
redis-Client显示添加成功
zrevrange <= 值递减从大到小