学习Lua脚本的基本语法
1 Lua官网的英文文档
http://www.lua.org/manual/5.3/
2 Lua中文文档
3请先读取文档后再进行下面,简单的开始
lua 中pairs 和 ipairs区别 参考下面例子:
1:https://blog.csdn.net/witch_soya/article/details/7556595
2:https://blog.csdn.net/tsbyj/article/details/47302611
4 执行Lua脚本
1:第一种方式
./redis-cli -h (ip) -p (port) -a (密码) script load “$(cat /usr/local/redis/t.lua )”
加粗部分是脚本的位置
执行完之后返回ID: “4a0beab792acbcd11632c997b1ee3d8061a4d210”
然后想给脚本传KEYS AGRV
evalsha (固定写法)+ID+键的数量 + 键名称 + 参数
evalsha 4a0beab792acbcd11632c997b1ee3d8061a4d210 1 redis world
1:第二种方式
./redis-cli -h (ip) -p (port) -a (密码) --eval /usr/local/redis/t.lua 1 redis , world 4
–eval参数是告诉redis-cli读取并运行后面的Lua脚本,t.lua是脚本的位置,后面跟着是传给Lua脚本的参数。其中",“前的redis 是要操作的键,可以再脚本中用KEYS[1]获取,”,“后面的world 和4是参数,在脚本中能够使用ARGV[1]和ARGV[2]获得。注:”,"两边的空格不能省略,否则会出错
5 Lua脚本的循环语法
a={“Hello”,“World”;a=1,b=2,z=3,x=10,y=20;“Good”,“Bye”}
for i, v in pairs(a) do
print(i,v)
end
6 Lua的redis.call()
redis.call(“指令”,KYES[i],ARGV[i])
调用指令,给key设置值