go-redis cluster 使用demo
Posted liuyidiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go-redis cluster 使用demo相关的知识,希望对你有一定的参考价值。
package main import ( "fmt" "time" "github.com/go-redis/redis" ) func main() { client := redis.NewClusterClient(&redis.ClusterOptions{ Addrs: []string{"redis-cluster.test.com:port"}, //set redis cluster url Password: "mypassword", //set password }) pong, err := client.Ping().Result() fmt.Println(pong, err) fmt.Println("pool state init state:", client.PoolStats()) for i := 0; i < 1000; i++ { k := fmt.Sprintf("key:%d", i) v := k val, err := client.Set(k, v, 60*time.Second).Result() if err != nil { panic(err) } val, err = client.Get(k).Result() if err != nil { panic(err) } fmt.Println("key:", val) } fmt.Println("pool state final state:", client.PoolStats()) //获取客户端连接池相关信息 }
总结:go-redis的连接池无需单独管理,在初始化时会自动根据cpu个数分配,本demo中跑了个循环,所以设置的key会分别打到不同的node上去,连接池会自动增加
以上是关于go-redis cluster 使用demo的主要内容,如果未能解决你的问题,请参考以下文章
golang常用库包:缓存redis操作库go-redis使用(03)-高级数据结构和其它特性