+
80
-

Redis的Evalsha怎么用?

Redis的Evalsha怎么用?

网友回复

+
0
-

Redis Evalsha 命令根据给定的 sha1 校验码来执行缓存在服务器中的lua脚本。

将lua脚本缓存到服务器的操作可以通过 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"

参考:https://www.runoob.com/redis/scripting-evalsha.html

我知道答案,我要回答