Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/redis-command-script-kill.html

Redis SCRIPT KILL 命令

Redis 脚本 Redis 脚本


Redis SCRIPT KILL 命令杀死当前正在运行的 Lua 脚本,当且仅当这个脚本没有执行过任何写操作时,这个命令才生效。这个命令主要用于终止运行时间过长的脚本,比如一个因为 BUG 而发生无限 loop 的脚本,诸如此类。

SCRIPT KILL 执行之后,当前正在运行的脚本会被杀死,执行这个脚本的客户端会从 EVAL 命令的阻塞当中退出,并收到一个错误作为返回值。

命令格式

SCRIPT KILL

可用版本:>=2.6.0

时间复杂度:O(1)

另一方面,假如当前正在运行的脚本已经执行过写操作,那么即使执行 SCRIPT KILL,也无法将它杀死,因为这是违反 Lua 脚本的原子性执行原则的。在这种情况下,唯一可行的办法是使用 SHUTDOWN NOSAVE 命令,通过停止整个 Redis 进程来停止脚本的运行,并防止不完整(half-written)的信息被写入数据库中。关于使用 Redis 对 Lua 脚本进行求值的更多信息,请参见 EVAL 命令。

返回值

返回字符串。

Redis CLIENT KILL 命令关闭一个指定的连接。 ...
Redis SCRIPT DEBUG 命令使用 EVAL 可以开启对脚本的调试。Redis 包含完整 Lua Debugger 和 code ...
Redis SCRIPT EXISTS 命令检查脚本是否存在脚本缓存里面。 ...
Redis SCRIPT LOAD 命令将脚本 script 添加到脚本缓存中,但并不立即执行该脚本。在脚本被加入到缓存之后,通过 EVAL ...
Redis SCRIPT FLUSH 命令清空 Lua 脚本缓存。 ...