Verzeichnis suchen
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
Figuren

CLIENT KILL [ip:port] [ID client-id] [TYPE normal|master|slave|pubsub] [ADDR ip:port] [SKIPME yes/no]

自2.4.0起可用。

时间复杂度: O(N)其中 N 是客户端连接数

CLIENT KILL 命令关闭给定的客户端连接。截至 Redis 2.8.11 ,可以仅通过客户端地址关闭连接,使用以下格式:

CLIENT KILL addr:port

ip:port应该与由客户端列表命令(返回线addr字段)。

但是,从 Redis 2.8.12 或更高版本开始,该命令接受以下格式:

CLIENT KILL <filter> <value> ... ... <filter> <value>

使用新形式,可以通过不同的属性处理客户端,而不是仅仅通过地址来处理客户端。以下过滤器可用:

  • CLIENT KILL ADDR ip:port。这与旧的三参数行为完全一样。

  • CLIENT KILL ID client-id。允许通过其唯一ID字段来终止客户端,该字段是从 Redis 2.8.12 开始的 CLIENT LIST 命令中引入的。

  • CLIENT KILL TYPE type,其中类型是之一normalmasterslavepubsub(的master类型可从V3.2)。这将关闭指定类中所有客户端的连接。请注意,被锁定到 MONITOR 命令中的客户端被认为属于normal该类。

  • CLIENT KILL SKIPME yes/no。默认情况下,这个选项被设置为yes,也就是说,调用该命令的客户端不会被no终止,但是设置该选项的效果也会导致调用该命令的客户端被终止。

可以同时提供多个过滤器。该命令将通过逻辑 AND 处理多个过滤器。例如:

CLIENT KILL addr 127.0.0.1:6379 type slave

是有效的,只会处理具有指定地址的从站。这种包含多个过滤器的格式目前很少有用。

当使用新表单时,命令不再返回OK或发生错误,而是终止的客户机数量,可能为零。

CLIENT KILL 和 Redis Sentinel

最近版本的 Redis Sentinel( Redis 2.8.12 或更高版本)使用 CLIENT KILL 为了在重新配置实例时终止客户端,以强制客户端再次与一个 Sentinel 执行握手并更新其配置。

由于 Redis 的单线程性质,在执行命令时无法终止客户端连接。从客户的角度来看,连接永远不会在执行命令的过程中关闭。但是,客户端会注意到,只有在发送下一个命令时才会关闭连接(并导致网络错误)。

返回值

当用三个参数格式调用时:

简单的字符串回复:OK如果连接存在并且已关闭

当用过滤器/值格式调用时:

整数回复:已解决的客户数量。

Vorheriger Artikel: Nächster Artikel: