有奖捉虫:云通信与企业服务文档专题,速来> HOT

操作场景

针对读多写少的业务场景,云数据库 Redis 支持将热点数据集中的读需求指定在副本节点,即副本只读,把读操作和写操作分别路由到不同的数据库节点上,避免读写冲突,提高数据库的并发处理能力,提升整个系统的性能和稳定性。更多信息,请参见读写分离

计费问题

副本只读功能当前免费体验中。

注意事项

开启读写分离的副本只读功能,可能会导致数据读取不一致(副本节点数据延后于主节点),请先确认业务是否允许数据不一致的问题。
关闭读写分离的副本只读功能,可能会导致存量连接闪断,建议在业务低峰期进行操作。

前提条件

数据库实例版本为4.0及其以上。
数据库实例状态为运行中

操作步骤

开启副本只读

1. 登录 Redis 控制台
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 单击实例 ID,进入实例详情页面,单击节点管理页签。
5. 节点管理页面的右上角,单击副本只读旁边的


6. 在弹出的对话框,配置副本只读的节点,具体参数信息,请参见下表。



参数名称
参数解释
账户名
固定为默认账号,即系统仅为默认账号开启副本只读。
命令权限
固定为读写权限。默认账号具备读写权限。
只读路由策略
默认为副本节点,也可选择主节点,或者同时选择副本节点与主节点。读请求将被系统自动负载均衡到配置的只读节点。
只读本地节点
当实例为多可用区部署时,显示该参数。开关就近访问功能,固定为已禁用。您可在控制台参数配置页面配置参数 read-local-node-only 来开启和关闭该功能。
费用
当前免费体验中。
7. 参数配置确认无误后,单击确定
8. 实例状态变更为处理中,等待其为运行中,在实例详情页面的规格信息区域,可查看副本只读已开启,即可体验读写分离。

关闭副本只读

注意:
若实例自定义账号的只读路由策略指定读请求分发至副本节点,无法直接关闭副本只读功能,请优先将只读策略指定为主节点,再关闭副本只读功能。
1. 登录 Redis 控制台
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 单击实例 ID,进入实例详情页面,单击节点管理页签。
5. 节点管理页面的右上角,单击副本只读旁边的

6. 关闭副本只读的对话框,了解关闭副本只读的影响,确认关闭,单击确定
7. 实例状态变更为处理中,等待其为运行中,在实例详情页面的规格信息区域,可查看副本只读未开启,即完成关闭。

命令

开启副本只读之后,部分命令不会路由到副本节点,仅路由至主节点。具体命令,如下表所示。
架构类别
读写分离下仅路由在主节点的命令
标准版
getdel、getex、set、setnx、setex、psetex、append、del、unlink、setbit、bitfield、setrange、incr、decr、rpush、lpush、rpushx、lpushx、linsert、rpop、lpop、brpop、brpoplpush、blpop、lset、ltrim、lrem、rpoplpush、sadd、srem、smove、spop、sinterstore、sunionstore、sdiffstore、sscan、zadd、zincrby、zrem、zremrangebyscore、zremrangebyrank、zremrangebylex、zunionstore、zinterstore、zscan、zpopmin、zpopmax、bzpopmin、bzpopmax、hset、hsetnx、hmset、hincrby、hincrbyfloat、hdel、hscan、incrby、decrby、incrbyfloat、getset、mset、msetnx、swapdb、move、rename、renamenx、expire、expireat、pexpire、pexpireat、scan、ping、multi、exec、discard、flushdb、flushall、sort、replconf、info、imonitor、persist、role、subscribe、unsubscribe、psubscribe、punsubscribe、publish、pubsub、watch、unwatch、restore、eval、evalsha、script、time、bitop、wait、command、readonly、lastsave、echo、geoadd、georadius、georadiusbymember、pfadd、pfmerge、pfdebug、xadd、xreadgroup、xgroup、xsetid、xack、xclaim、xautoclaim、xdel、xtrim、hello
集群版
getdel、getex、set、setnx、setex、psetex、append、del、unlink、setbit、bitfield、setrange、incr、decr、rpush、lpush、rpushx、lpushx、linsert、rpop、lpop、brpop、brpoplpush、blpop、lset、ltrim、lrem、rpoplpush、sadd、srem、smove、spop、sinterstore、sunionstore、sdiffstore、sscan、zadd、zincrby、zrem、zremrangebyscore、zremrangebyrank、zremrangebylex、zunionstore、zinterstore、zscan、zpopmin、zpopmax、bzpopmin、bzpopmax、hset、hsetnx、hmset、hincrby、hincrbyfloat、hdel、hscan、incrby、decrby、incrbyfloat、getset、mset、msetnx、swapdb、move、rename、renamenx、expire、expireat、pexpire、pexpireat、keys、scan、dbsize、ping、echo、lastsave、multi、exec、discard、flushdb、flushall、sort、info、persist、role、subscribe、unsubscribe、psubscribe、punsubscribe、publish、pubsub、watch、unwatch、restore、eval、evalsha、script、time、bitop、wait、geoadd、georadius、georadiusbymember、pfadd、pfmerge、pfdebug、xadd、xreadgroup、xgroup、xsetid、xack、xclaim、xautoclaim、xdel、xtrim、hello

相关 API

接口名称
接口功能
启用读写分离
禁用读写分离