为节约用户成本,适应读多写少的业务场景,缓存数据库 Redis 版推出了读写分离模式,为您提供高可用、高性能、高灵活的读写分离服务。
实例类型为主备实例。单节点实例不支持读写分离功能。关于两种类型实例的功能特性差异详情,请参见功能特性差异。
缓存数据库 Redis 版不管是否启用分片集群,默认情况下从节点都只作为备份,不对外提供服务,只有在发生故障时,从节点提升为主节点后才承担读写流量。该种情况下,实例性能受到主节点数量及性能的限制,例如流量或并发量较高的情况下,即使数据较少,也需要使用较高规格的实例。
缓存数据库 Redis 版支持带宽限流机制,当业务流量超过实例的默认带宽时,会触发带宽限流。若出现带宽限流情况,您可以通过手动调整带宽、优化大/热 Key、设置读写分离或扩容实例等方法解决,更多详情,请参见实例合理使用带宽建议。
缓存数据库 Redis 版支持通过 read_request_distribution_strategy
参数设置实例的分片读写分离策略,取值范围如下
read_primary_node_only
(默认值):读请求仅发送到主节点。read_secondary_nodes_only
:读请求随机发送到所有从节点,均匀分布。read_primary_node_and_secondary_nodes
:读请求随机发送到主节点和所有从节点,均匀分布。说明
针对已部署了多可用区的实例,若实例开启了就近访问功能(即 read_local_node_only
取值为 yes
),读请求的发送策略会由读写分离参数和就近访问参数共同决定。更多详情,请参见就近访问。
修改读写分离策略(read_request_distribution_strategy
)的参数值后,客户端可能会短暂出现请求失败相关报错,建议在业务低峰期执行参数修改操作,并确保客户端配置了正确的重试机制。
缓存数据库 Redis 版支持通过 appendonly-switch
参数设置 AOF 持久化功能,但 AOF 持久化功能和读写分离功能存在约束关系,其中
read_request_distribution_strategy
取值为 read_secondary_nodes_only
或 read_primary_node_and_secondary_nodes
时,不支持将参数appendonly-switch
设置为 off
。appendonly-switch
取值为 off
时,不支持将参数 read_request_distribution_strategy
设置为 read_secondary_nodes_only
或 read_primary_node_and_secondary_nodes
。关于 appendonly-switch
参数的更多详情,请参见参数支持。
read_request_distribution_strategy
参数进行筛选。 API | 描述 |
---|---|
DescribeDBInstanceParams | 调用 DescribeDBInstanceParams 接口查询指定实例的配置参数信息。 |
ModifyDBInstanceParams | 调用 ModifyDBInstanceParams 接口修改指定实例的配置参数。 |