您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
Redis Script kill 命令
发布时间:2021-11-11 22:27:39编辑:雪饮阅读()
Redis Script kill 命令用于杀死当前正在运行的 Lua 脚本,当且仅当这个脚本没有执行过任何写操作时,这个命令才生效。
这个命令主要用于终止运行时间过长的脚本,比如一个因为 BUG 而发生无限循环的脚本。
SCRIPT KILL 执行之后,当前正在运行的脚本会被杀死,执行这个脚本的客户端会从 EVAL 命令的阻塞当中退出,并收到一个错误作为返回值。
返回值
总是返回 OK
实例:
开一个客户端并执行一段lua无限循环脚本会出现当前客户端阻塞,直到另外一个客户端执行script kill后,当前客户端才能解除阻塞:
当前客户端:
127.0.0.1:6379> eval 'while( true ) do print("The loop will run forever") end' 0
(error) ERR Error running script (call to f_72d438da4c9efa4302c64534a15afa6838d405af): @user_script:1: Script killed by user with SCRIPT KILL...
(10.39s)
另外开启一个客户端:首先是ping返回redis处于繁忙状态,然后script kill之后就ok了
127.0.0.1:6379> ping
(error) BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE.
(0.76s)
127.0.0.1:6379> script kill
OK
127.0.0.1:6379> ping
PONG
关键字词:Redis,Script,kill,命令