本文基于
redis_version:6.2.5
用法
控制从节点允许读写操作,还是读操作。
replica-read-only yes
注意事项:
- 默认
yes,只读操作。 -
replica-read-only支持参数[yes,no],no 支持读写操作。 - 这里说的从节点,是普通从节点(
!非cluster集群中的从节点)。 - cluster集群的从节点不支持写操作,配置为
replica-read-only no也没用!
实操
先看普通从节点。

putong.png
总结:普通从节点可以支持读写操作。
再看cluster集群从节点。

cluster.png
总结:cluster集群的从节点,不支持写(配置无效)。
源码实现
为什么cluster集群的从节点设置了replica-read-only还是不支持写操作?processCommand函数是命令入口,判断顺序由上至下,line:5289~5294先判断cluster集群,line:5400后判断replica-read-only。所以,当节点身份是cluster从节点时,直接执行重定向,不会执行replica-read-only配置的判断。

yuanma.png
原生注释

note.png
本文属于原创,首发于微信公众号【小易哥学呀学】,如需转载请后台留言。
