當前位置:成語大全網 - 書法字典 - Redis執行xxx.luaxxx.lua腳本如何傳遞參數。格式是什麽?

Redis執行xxx.luaxxx.lua腳本如何傳遞參數。格式是什麽?

在Redis中執行Lua腳本有兩種方式:eval和evalsha。

1.eval

評估腳本內容密鑰編號密鑰列表參數列表

如果Lua腳本很長,還可以使用redis-cli-eval直接執行文件。

如果客戶端想要執行Lua腳本,它應該首先在客戶端編寫Lua腳本代碼,然後將腳本作為字符串發送到服務器,服務器將向客戶端返回執行結果。

2.evalsha

將Lua腳本加載到Redis服務器,並獲取腳本的sha1校驗和。evalsha命令可以使用sha1作為參數直接執行相應的Lua腳本,從而避免了每次發送Lua腳本的開銷。這樣,客戶端不需要每次都執行腳本內容,腳本也將駐留在服務器上,並且腳本內容已被重用。

加載腳本:腳本加載命令可以將腳本內容加載到Redis內存中。

Lua的Redis API

Lua可以通過使用redis.call函數來訪問Redis。

redis.call(“集合”、“妳好”、“世界”)

redis . call(“get”、“hello”)

此外,Lua還可以使用Redis.pcall函數來調用Redis。redis.call和redis.pcall的區別在於,如果redis.call執行失敗,腳本執行將直接返回錯誤,而redis.pcall將忽略錯誤並繼續執行腳本。

Lua腳本功能為Redis開發人員和運營商帶來了以下三個好處:

1。Lua腳本在Redis中自動執行,在執行過程中不會插入其他命令。

2.Lua腳本可以幫助開發人員和操作人員創建自己定制的命令,並可以將這些命令保留在Redis內存中以達到重用效果。

3.Lua腳本可以壹次打包多個命令,有效減少網絡開銷。

Redis如何管理Lua腳本

1 .腳本加載

該命令用於將Lua腳本加載到Redis內存中。

2 .腳本存在

腳本存在sha 1【sha 1…】

該命令用於確定sha1是否已加載到Redis內存中。

3 .腳本沖洗

該命令用於清除Redis內存中加載的所有Lua腳本。執行腳本刷新後,sha1不再存在。

4 .劇本殺