script
英 [skr?pt] 美 [skr?pt]
n.腳本,手跡;書寫體鉛字;劇本、廣播稿或者電影劇本
vt.為電影(或戲劇等)寫劇本;編造
第三人稱單數: scripts 復數: scripts 現在分詞: scripting 過去式: scripted 過去分詞: scripted
kill
英 [k?l] 美 [k?l]
vt.& vi.殺死…
vt.使停止[結束,失敗];破壞,減弱,抵消;使痛苦,使受折磨;使笑得前仰后合,使笑死了
n.殺死;獵;被捕殺的動物;獵物
adj.致命的
第三人稱單數: kills 現在分詞: killing 過去式: killed 過去分詞: killed
redis SCRIPT KILL命令 語法
作用:殺死當前正在運行的 Lua 腳本,當且僅當這個腳本沒有執(zhí)行過任何寫操作時,這個命令才生效。這個命令主要用于終止運行時間過長的腳本,比如一個因為 BUG 而發(fā)生無限 loop 的腳本,諸如此類。
語法:SCRIPT KILL
說明:SCRIPT KILL 執(zhí)行之后,當前正在運行的腳本會被殺死,執(zhí)行這個腳本的客戶端會從 EVAL 命令的阻塞當中退出,并收到一個錯誤作為返回值。另一方面,假如當前正在運行的腳本已經執(zhí)行過寫操作,那么即使執(zhí)行 SCRIPT KILL ,也無法將它殺死,因為這是違反 Lua 腳本的原子性執(zhí)行原則的。在這種情況下,唯一可行的辦法是使用 SHUTDOWN NOSAVE 命令,通過停止整個 Redis 進程來停止腳本的運行,并防止不完整(half-written)的信息被寫入數據庫中。
可用版本:>= 2.6.0
時間復雜度:O(1)
返回:執(zhí)行成功返回 OK ,否則返回一個錯誤。
redis SCRIPT KILL命令 示例
# 沒有腳本在執(zhí)行時 redis> SCRIPT KILL (error) ERR No scripts in execution right now. # 成功殺死腳本時 redis> SCRIPT KILL OK (1.30s) # 嘗試殺死一個已經執(zhí)行過寫操作的腳本,失敗 redis> SCRIPT KILL (error) ERR Sorry the script already executed write commands against the dataset. You can either wait the script termination or kill the server in an hard way using the SHUTDOWN NOSAVE command.