2013-05-22 23 views

回答

7

服務器端Lua腳本不由Redis保存或存儲。它們與您可以在RDBMS中找到的存儲過程不相似。

客戶端應至少爲腳本的第一次執行提供腳本文本(即對第一次執行使用EVAL,對於下一次調用使用EVALSHA)。或者,您也可以使用SCRIPT LOAD和SCRIPT EXISTS,根據情況可能會更方便。

這對於應用程序來說處理起來要複雜一點,但有一些好處:它使得Redis服務器在Lua腳本編寫時無狀態。應用程序的代碼(包括Lua腳本)在應用程序端進行管理。在加載新版本的應用程序之前(即使Lua腳本已更改),您不需要在Redis服務器上應用某些內容。

此屬性在分佈式基礎結構的上下文中非常有用,可支持即時應用程序負載或客戶端分片或Redis集羣。

+0

謝謝你的回答,這是非常有用的,對不起我的英文不好:)) – MultiHeadUnicorn

相關問題