• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • client pause 命令

    client pause命令用于阻塞客户端命令一段时间(以毫秒计)。client pause是连接控制命令,它可以将所有客户端的访问暂停给定的毫秒数

    该命令执行如下:

    • 它会停止处理所有来自一般客户端或者pub/sub客户端的命令。但是和 slaves 的交互命令不受影响。
    • 因为它会尽快返回OK给调用者,所以CLIENT PAUSE不会被自己暂停。
    • 当给定的时间结束,所有的客户端都被解除阻塞:查询缓存里积累的所有命令都会被处理。

    当该命令可以可控的将客户端从一个Redis实例切换至另一个实例。比如,当需要升级一个实例时,管理员可以作如下操作:

    • 使用CLIENT PAUSE暂停所有客户端
    • 等待数秒,让 slaves 节点处理完所有来自 master 的复制命令
    • 将一个 salve 节点切换为 master
    • 重配客户端以来接新的 master 节点

    可以在 MULTI/EXEC 中一起使用CLIENT PAUSEINFO replication以在阻塞的同时获取当前 master 的偏移量。用这种方法,可以让 slaves 处理至给定的复制偏移节点。


    语法

    CLIENT PAUSE timeout

    返回值

    返回 OK。如果 timeout 参数是非法的返回错误。