You need to enable JavaScript to run this app.
导航
设置读写分离
最近更新时间:2024.08.01 16:50:25首次发布时间:2021.11.04 17:48:22

为节约用户成本,适应读多写少的业务场景,缓存数据库 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_onlyread_primary_node_and_secondary_nodes时,不支持将参数appendonly-switch 设置为 off
    • 当参数 appendonly-switch 取值为 off 时,不支持将参数 read_request_distribution_strategy 设置为 read_secondary_nodes_onlyread_primary_node_and_secondary_nodes

    关于 appendonly-switch 参数的更多详情,请参见参数支持

操作步骤

  1. 登录 Redis 控制台
  2. 在顶部菜单栏的左上角,选择实例所属的项目和地域。
  3. 实例列表页,单击目标实例名称。
  4. 在实例详情页,单击参数配置页签。
  5. 参数列表页签,单击批量修改参数,您可以在右侧搜索栏中输入 read_request_distribution_strategy 参数进行筛选。
  6. 根据业务的实际情况,在运行值列的下拉框中选择参数的值,设置完成后,单击参数列表左上角的提交
  7. 在弹出的对话框中,确认修改的参数和参数值,单击确定

相关 API

API
描述
DescribeDBInstanceParams调用 DescribeDBInstanceParams 接口查询指定实例的配置参数信息。
ModifyDBInstanceParams调用 ModifyDBInstanceParams 接口修改指定实例的配置参数。