Redis Server – CLIENT KILL命令

2020年8月9日19:18:40 评论 44

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

CLIENT KILL关闭一个指定的连接。在Redis2.8.11时可以根据客户端地址关闭指定连接,关闭方式如下:

CLIENT KILL addr:port

ip:port应该是CLIENT LIST 命令里面列出的客户端连接之一。

然而,从Redis 2.8.12开始,这个命令改为如下格式:

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

新的格式可以根据不同属性杀死客户端而不是只按地址杀死。他们有以下一些格式:

  • CLIENT KILL ADDR ip:port. 和旧版的三个参数时的行为完全一样。
  • CLIENT KILL ID client-id. 可以通过唯一ID字段杀死一个客户端,唯一ID可以通过Redis2.8.12的CLIENT LIST命令查询。
  • CLIENT KILL TYPE type, 这里的 type 可以是 normalslavepubsub。 这将关闭所有特殊类的客户端. 请注意被认为是属于正常类的客户端将会被MONITOR命令监视到。
  • CLIENT KILL SKIPME yes/no. By default this option is set to yes, that is, the client calling the command will not get killed, however setting this option to no will have the effect of also killing the client calling the command.

可以在执行命令时同时给定多个筛选条件。该命令会使用逻辑AND来处理多个筛选条件,比如:

CLIENT KILL addr 127.0.0.1:6379 type slave

是可以的,并且只会杀死给定IP地址的的slave。这种包含多个筛选条件的格式目前很少使用。

当使用新的格式时,该命令不再返回OK或者错误,而是返回被杀死的客户端个数,有可能为0.

CLIENT KILL and Redis Sentinel

当前版本的Redis Sentinel 可以在实例被重新配置的时候使用CLIENT KILL 杀死客户端。这样可以强制客户端和一个Sentinel重新连接并更新自己的配置。

Notes

因为Redis的单线程属性,不可能在客户端执行命令时杀掉它. 从客户端的角度看,永远无法杀死一个正在执行命令的连接。 但是当客户端发送下一条命令时会意识到连接已被关闭,原因为网络错误。

返回值

三参数格式执行命令:

simple-string-reply: 连接存在并被关闭返回OK

过滤/值格式执行命令:

integer-reply: 被杀死的客户端个数


相关参考链接

Server相关命令:

命令组 命令
Server(服务器) BGREWRITEAOF;   BGSAVE;   CLIENT GETNAME;    CLIENT ID;
CLIENT KILL;   CLIENT LIST;    CLIENT PAUSE;     CLIENT REPLY;
CLIENT SETNAME;    CLIENT UNBLOCK;    COMMAND;
COMMAND COUNT;    COMMAND GETKEYS;    COMMAND INFO
CONFIG GET;   CONFIG RESETSTAT;   CONFIG REWRITE;
CONFIG SET;   DBSIZE;   DEBUG OBJECT;   DEBUG SEGFAULT;
FLUSHALL;   FLUSHDB;   INFO;   LASTSAVE;
MEMORY DOCTOR;    MEMORY HELP;
MEMORY MALLOC-STATS;    MEMORY PURGE;
MEMORY STATS;    MEMORY USAGE;    MONITOR;
REPLICAOF;    ROLE;    SAVE;   SHUTDOWN;
SLAVEOF;   SLOWLOG;   SYNC;   TIME;

全部命令组:Keys(键)Strings(字符串)Hashes(哈希表)Lists(列表)Sets(集合)Sorted Sets(有序集合)Pub/Sub(发布/订阅)Scripting(脚本)Server(服务器)Transactions(事物)Geo(地理位置)Cluster(集群)Connection(连接)Streams(流)HyperLogLog

回到总目录:Redis命令参考手册(总目录)

素课网
  • 本文由 发表于 2020年8月9日19:18:40
  • 转载请注明:https://www.suketech.com/9012.html
Redis Cluster – READONLY命令 Redis命令参考

Redis Cluster – READONLY命令

READONLY 起始版本:3.0.0 时间复杂度:O(1) 开启与 Redis Cluster 从节点连接的读请求 通常,从节点将重定向客户端到认证过的主节点,以获取在指定命令中所涉及的哈希槽,然而...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: