Redis实例是否支持读写分离?
Redis实例支持读写分离的情况如下表所示:
实例类型 |
是否支持读写分离 |
---|---|
读写分离实例 |
支持。
说明:
读写分离功能,推荐使用读写分离实例,无需在客户端做任何配置。 |
Redis Cluster集群实例 |
支持从客户端实现读写分离,需要在客户端做配置,参考配置说明。 |
Redis 4.0/5.0/6.0基础版主备实例 |
支持从客户端实现读写分离,需要在客户端增加用户读写请求判断。 |
其他版本及实例类型 |
不支持。 |
配置说明
- Redis Cluster集群实例,使用cluster nodes查询所有主备节点,客户端连接备节点,并在节点上做配置,开启备节点只读访问,从而实现读写分离。
查询集群节点命令如下:
redis-cli -h {redis_address} -p {redis_port} -a {redis_password} cluster nodes
从节点配置只读模式,请参考READONLY命令。
- Redis 4.0/5.0/6.0基础版版本主备实例,在控制台的实例详情信息页面,域名区分可读写域名和只读域名,分别对应主节点和备节点,在客户端增加用户读写请求判断,如果是写请求,则将请求发送给读写域名,如果是读请求,则将请求发送给只读域名。
- 读写分离实例,默认为从服务端侧实现的读写分离,通过Proxy节点识别用户读写请求,如果是写请求,则转发给主节点,如果是读请求,则转发给备节点,不需要用户在客户端做任何配置。