Lua/?lu?/是一种轻量级脚本语言,它是用 C 语言编写的,跟数据的存储过程有点类似。
使用 Lua 脚本来执行 Redis 命令的好处:
使用 eval /?‘v?l/ 方法,语法格式:
redis> eval lua-script key-num [key1 key2 key3 ....] [value1 value2 value3 ....]
示例,返回一个字符串,0 个参数:
eval "return ‘Hello World‘" 0
使用 redis.call(command, key [param1, param2…])进行操作。语法格式:
eval "redis.call(‘set‘,KEYS[1],ARGV[1])" 1 lua-key lua-value
注意跟 Java 不一样,定义只有形参,调用只有实参。Lua 是在调用时用 key 表示形参,argv 表示参数值(实参)。
在 Redis 中调用 Lua 脚本执行 Redis 命令
eval "return redis.call(‘set‘,KEYS[1],ARGV[1])" 1 fuyu 9527
get fuyu
以上命令等价于 set fuyu 9527
在 redis-cli 中直接写 Lua 脚本不够方便,也不能实现编辑和复用,通常我们会把脚本放在文件里面,然后执行这个文件。
创建 Lua 脚本文件:
原文:https://www.cnblogs.com/fuyublog/p/13553608.html