evalsha 命令
Evalsha
命令根据给定的
sha1
校验码,执行缓存在服务器中的脚本。将脚本缓存到服务器的操作可以通过
SCRIPT LOAD
命令进行。这个命令的其他地方,比如参数的传入方式,都和
EVAL
命令一样。
语法
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],诸如此类)。
实例
redis> SCRIPT LOAD "return 'hello moto'" "232fd51614574cf0867b83d384a5e898cfd24e5a" redis> EVALSHA "232fd51614574cf0867b83d384a5e898cfd24e5a" 0 "hello moto"