1、客戶端執行
redis-cli --eval myscript.lua key1 key2 , arg1 arg2 arg3
需要注意的是用逗號來分割key和參數,高能提醒,注意空格(key和key、key和逗號、逗號和參數、參數和參數之間都要有空格)
./redis-cli –eval [lua腳本] [key…]空格,空格[args…]
2、命令執行
命令格式 | 說明 | 對應Jedis客戶端Jedis對象的方法之一(有更多重載方法) |
EVAL script numkeys key [key ...] arg [arg ...] | 執行Lua腳本 |
public Object eval(String script, int keyCount, String... params) |
EVALSHA sha1 numkeys key [key ...] arg [arg ...] | 根據給定的 sha1 校驗碼,對緩存在服務器中的腳本進行求值 | public Object evalsha(String sha1, int keyCount, String... params) |
SCRIPT LOAD script | 將給定的腳本緩存,不執行,並返回sha1校驗值 | public String scriptLoad(String script) |
SCRIPT EXISTS sha1 [sha1 ...] | 給定一個或多個腳本的 SHA1 校驗和,返回一個包含 0 和 1 的列表,表示校驗和所指定的腳本是否已經被保存在緩存當中 | public List<Boolean> scriptExists(String... sha1) |
SCRIPT FLUSH | 清除所有 Lua 腳本緩存 | |
SCRIPT KILL | 殺死當前正在運行的 Lua 腳本,當且僅當這個腳本沒有執行過任何寫操作時,這個命令才生效(如果已經執行了寫操作,則需要通過shutdown nosave命令來處理) |