4

我们有一个 go lang 服务,它将转到 redis,为每个请求获取数据,我们也想从 redis 从节点读取数据。我们浏览了 redis 和 go-redis 库的文档,发现为了从 redis slave 读取数据,我们应该从 redis 端触发 readonly 命令。我们在 go-redis 库上使用 ClusterOptions 来设置与 redis 的只读连接。

redis.NewClusterClient(&redis.ClusterOptions{
    Addrs:    []string{redisAddress},
    Password: "",
    ReadOnly: true,
})

完成所有这些之后,我们能够看到(使用监控)读取请求仅由主节点处理。我希望这不是预期的,我错过了一些东西或做错了。任何指针将不胜感激来解决这个问题。

更多上下文:上面代码中的 redisAddress 是单个 kubernetes 集群 IP。Redis 使用 kubernetes operator 部署,每个 master 有 3 个 master 和 1 个副本。

4

1 回答 1

0

我已经完成了设置选项 RouteRandomly: true

于 2022-01-17T16:45:44.700 回答