我正在使用node-redis和AWS Elasticache,禁用了集群模式。我有1个主节点和2个副本节点。
我的副本节点根本不提供读取服务。这可以在Elasticache的metrics选项卡中看到,并且非常清楚。
Redis文档中指出READONLY command can be used从副本节点开始阅读。在node-redis中唯一提到这个功能的是在他们的client configuration documentation中,使用readonly
标志(默认为false)。这是用来打开新连接的。
我们的服务器 * 当前 * 维护一个Redis连接,并使用它来发出所有的读和写。(创建一个客户端)在每个命令之前,并根据我的命令是读还是写来设置这个readonly
标志?我觉得我应该能够保持连接打开,并在每个命令的基础上指定readonly
,以避免不断打开和关闭连接。
如果我只能在连接级别设置readonly
,那么与Redis交互的最佳方式是什么?
1条答案
按热度按时间j2datikz1#
readonly
命令适用于Redis集群,而不是独立的Redis。所以它不能解决你的问题。相反,您可以创建两个连接:一个用于写入(连接到主服务器),另一个用于读取(连接到副本服务器)。