Redis Evalsha 命令

Redis 腳本

Redis Evalsha 命令根據給定的 sha1 校驗碼,執行緩存在伺服器中的腳本。

將腳本緩存到伺服器的操作可以通過 SCRIPT LOAD 命令進行。

這個命令的其他地方,比如參數的傳入方式,都和 EVAL 命令一樣。

語法

redis Evalsha 命令基本語法如下:

redis 127.0.0.1:6379> EVALSHA sha1 numkeys key [key ...] arg [arg ...]

參數說明:

  • sha1 : 通過 SCRIPT LOAD 生成的 sha1 校驗碼。
  • numkeys: 用於指定鍵名參數的個數。
  • key [key ...]: 從 EVAL 的第三個參數開始算起,表示在腳本中所用到的那些 Redis 鍵(key),這些鍵名參數可以在 Lua 中通過全局變數 KEYS 數組,用 1 為基址的形式訪問( KEYS[1] , KEYS[2] ,以此類推)。
  • arg [arg ...]: 附加參數,在 Lua 中通過全局變數 ARGV 數組訪問,訪問的形式和 KEYS 變數類似( ARGV[1] 、 ARGV[2] ,諸如此類)。

可用版本

>= 2.6.0

實例

redis 127.0.0.1:6379> SCRIPT LOAD "return 'hello moto'"
"232fd51614574cf0867b83d384a5e898cfd24e5a"

redis 127.0.0.1:6379> EVALSHA "232fd51614574cf0867b83d384a5e898cfd24e5a" 0
"hello moto"

Redis 腳本