如何在Golang中模拟redis集群服务器?
收到以下错误:ERR unknown command群集, with args beginning with:插槽
我的程序使用'github.com/go- redis /redis‘包来实现redis。
例如,为以下客户机创建模拟服务器
redisCache := redis.NewClusterClient(redisConfig)
_, err := redisCache.Ping().Result()
if err != nil {
log.Fatalf("fatal error Not able to connect using redis client: %s", err)
}发布于 2020-08-27 20:09:45
也许使用"github.com/alicebob/miniredis/v2“而不是"github.com/alicebob/miniredis”可以解决这个问题。
下面是一个例子。
package redis_cluster_test
import (
"log"
"testing"
"time"
"github.com/alicebob/miniredis/v2"
"github.com/go-redis/redis"
)
func TestRedisCluster(t *testing.T) {
mock, err := miniredis.Run()
if err != nil {
panic(err)
}
redisConfig := redis.ClusterOptions{
Addrs: []string{mock.Addr()},
ReadTimeout: 1 * time.Second,
WriteTimeout: 1 * time.Second,
PoolSize: 6500,
PoolTimeout: 30 * time.Second}
redisCache := redis.NewClusterClient(&redisConfig)
_, err = redisCache.Ping().Result()
if err != nil {
t.Errorf("fatal error Not able to connect using redis client: %s", err)
log.Fatalf("fatal error Not able to connect using redis client: %s", err)
}
}https://stackoverflow.com/questions/63536712
复制相似问题