*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
*常见错误
- timeout 过长:长时间暂停会导致客户端超时。
*最佳实践
- 维护窗口:执行危险操作前短暂暂停写入,避免数据不一致。
- 集群切换:Cluster 故障转移时暂停写入,确保数据一致性。
*FAQ
Q: CLIENT PAUSE 会阻塞客户端连接吗? A: 不会断开连接,只是将命令缓存在队列中,暂停结束后顺序处理。长时间暂停可能导致客户端超时。