*Redis CLIENT PAUSE 命令

暂停处理所有客户端的请求(或只读/写入请求)。Redis 2.9.50+ 引入。


*语法

CLIENT PAUSE timeout [WRITE | ALL]

*参数说明

参数 类型 必填 说明
timeout Integer 暂停时间(毫秒)
WRITE 标志 只暂停写入命令(默认)
ALL 标志 暂停所有命令(Redis 6.2+)

*返回值

条件 返回值
成功 OK

*时间复杂度

O(1)

*

*示例

> CLIENT PAUSE 1000
OK

# 暂停所有命令
> CLIENT PAUSE 1000 ALL
OK

*常见错误

  1. timeout 过长:长时间暂停会导致客户端超时。

*最佳实践

  1. 维护窗口:执行危险操作前短暂暂停写入,避免数据不一致。
  2. 集群切换:Cluster 故障转移时暂停写入,确保数据一致性。

*FAQ

Q: CLIENT PAUSE 会阻塞客户端连接吗? A: 不会断开连接,只是将命令缓存在队列中,暂停结束后顺序处理。长时间暂停可能导致客户端超时。