gpt4 book ai didi

unit-testing - Golang模拟Redis群集服务器

转载 作者:行者123 更新时间:2023-12-01 22:21:04 25 4
gpt4 key购买 nike

如何在Golang中模拟Redis集群服务器?
可以使用'github.com/alicebob/miniredis'软件包来模拟简单的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)
}

最佳答案

也许使用“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)
}
}

关于unit-testing - Golang模拟Redis群集服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63536712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com