如何配置我的 Redis 客户端以在禁用集群模式的情况下使用只读副本?

问题描述 投票:0回答:1

我正在使用 node-redis 和 AWS Elasticache,但禁用了集群模式。我有 1 个主节点和两个副本节点。

我的副本节点根本不提供读取服务。这可以在 Elasticache 的指标选项卡中看到,并且非常清晰。

Redis 文档指出可以使用 READONLY 命令 开始从副本节点读取。 node-redis 中唯一提到此功能的是在其客户端配置文档中,使用

readonly
标志(默认为 false)。这是用来打开新连接的。

我们的服务器当前维护单个Redis连接,并使用它来发出所有读取和写入。该文档是否建议我应该在每个命令之前打开一个新连接(创建客户端),并根据我的命令是读取还是写入来设置此

readonly
标志?我觉得我应该能够保持连接打开并在每个命令的基础上指定
readonly
以避免不断打开和关闭连接。

如果我只能在连接级别设置

readonly
,那么与 Redis 交互的最佳方式是什么?

node.js redis amazon-elasticache node-redis
1个回答
0
投票

readonly
命令适用于 Redis 集群,不适用于独立的 Redis。所以它不能解决你的问题。

相反,您可以创建两个连接:一个用于写入(连接到主服务器),另一个用于读取(连接到其中一个副本)。

© www.soinside.com 2019 - 2024. All rights reserved.