READONLY

用法
READONLY
复杂度
O(1)
始于
3.0.0
ACL 类别
@connection, @fast

为连接到 Valkey 副本节点启用读查询。

在集群模式下,副本节点会将客户端重定向到给定命令所涉及的哈希槽的权威主节点,然而客户端可以使用 READONLY 命令来利用副本进行读扩展。

READONLY 命令告知 Valkey 集群副本节点,客户端愿意读取可能过时的数据,并且不打算执行写入查询。

当连接处于只读模式时,集群只会在操作涉及副本主节点不服务的键时,才向客户端发送重定向。这可能发生,原因如下:

  1. 客户端发送了关于哈希槽的命令,而这些哈希槽从未由该副本的主节点提供服务。
  2. 集群已重新配置(例如重新分片),并且该副本不再能为给定哈希槽提供命令服务。
  3. 自 Valkey 8.0 起,如果槽迁移正在进行中。在这种情况下,副本可以返回 ASK 重定向或 TRYAGAIN 错误回复。在早期版本中,副本不了解正在进行的槽迁移。

在独立模式下,默认情况下,访问副本节点的客户端可以执行读查询(可能会读取过时数据),而无需进入只读模式。

自 Valkey 8.0 起,如果独立模式下的客户端使用 CLIENT CAPA redirect 命令声明其处理重定向的能力,那么副本节点在执行读写命令时都会向客户端发送重定向消息。客户端必须先发出 READONLY 命令进入只读模式,然后才能执行读命令。

RESP2/RESP3 回复

简单字符串回复: OK.