directory search
Cluster cluster addslots(集群 槽位) cluster count failure reports(集群计数失败报告) cluster countkeysinslot cluster delslots cluster failover cluster forget cluster getkeysinslot cluster info cluster keyslot(集群键槽) cluster meet cluster nodes(集群节点) cluster replicate(集群复制) cluster reset(集群重置) cluster saveconfig cluster set config epoch cluster setslot cluster slaves cluster slots readonly readwrite Connection auth echo ping quit select swapdb Geo geoadd geodist geohash geopos georadius georadiusbymember Hashes hdel hexists hget hgetall hincrby hincrbyfloat hkeys hlen hmget hmset hscan hset hsetnx hstrlen hvals HyperLogLog pfadd pfcount pfmerge Keys del dump exists expire expireat keys migrate move object persist pexpire pexpireat pttl randomkey rename renamenx restore scan sort touch ttl type unlink wait Lists blpop brpop brpoplpush lindex linsert llen lpop lpush lpushx lrange lrem lset ltrim rpop rpoplpush rpush rpushx Pub/Sub psubscribe publish pubsub punsubscribe subscribe unsubscribe Scripting eval evalsha script debug script exists script flush script kill script load Server bgrewriteaof bgsave client getname client kill client list client pause client reply client setname command command count command getkeys command info config get config resetstat config rewrite config set dbsize debug object debug segfault flushall flushdb info lastsave monitor role save shutdown slaveof slowlog time Sets sadd scard sdiff sdiffstore sinter sinterstore sismember smembers smove spop srandmember srem sscan sunion sunionstore Sorted Sets zadd zcard zcount zincrby zinterstore zlexcount zrange zrangebylex zrangebyscore zrank zrem zremrangebylex zremrangebyrank zremrangebyscore zrevrange zrevrangebylex zrevrangebyscore zrevrank zscan zscore zunionstore Strings append bitcount bitfield bitop bitpos decr decrby get getbit getrange getset incr incrby incrbyfloat mget mset msetnx psetex set setbit setex setnx setrange strlen Transactions discard exec multi unwatch watch
characters

CLIENT PAUSE timeout

自2.9.50起可用。

时间复杂度: O(1)

CLIENT PAUSE 是一个连接控制命令,它能够在指定的时间内(以毫秒为单位)挂起所有 Redis 客户端。

该命令执行以下操作:

  • 它会停止处理来自普通客户端和发布/订阅客户端的所有未决命令。然而,与从站的互动将继续正常。

  • 但是,对调用方 ASAP 返回 OK ,因此 CLIENT PAUSE 命令执行不会自行暂停。

  • 当指定的时间已过时,所有客户端都将被解除阻塞:这将触发在暂停期间处理每个客户端的查询缓冲区中累积的所有命令。

该命令非常有用,因为它能够以受控方式将客户端从 Redis 实例切换到另一个实例。例如,在实例升级期间,系统管理员可以执行以下操作:

  • 使用 CLIENT PAUSE 暂停客户端

  • 等待几秒钟以确保从服务器处理来自主服务器的最新复制流。

  • 把其中一个从站变成主站。

  • 重新配置客户端以连接新主服务器。

可以在 MULTI / EXEC 块中将 CLIENT PAUSE 与INFO replication命令一起发送,以便在客户端被阻止时获得当前的主站偏移量。这样就可以等待从属端的特定偏移量,以确保处理所有的复制流。

由于 Redis 3.2.10 / 4.0.0 ,此命令还可以防止在客户端暂停期间键被驱逐或过期。这样,不仅从客户端无法写入的角度,而且从内部操作的角度来看,数据集保证是静态的。

返回值

简单字符串回复:如果超时无效,则该命令返回 OK 或错误。

Previous article: Next article: