Lua学习笔记
一、Redis使用Lua脚本实例
1.1-示例1
1.用vim编辑器创建01.lua脚本文件
2.编写脚本内容调用redis
redis.call("set","age","30") local age = redis.call("get","age") return age
3.调用redis客户端并使用eval命令使用Lua脚本,打印age输出到控制台
D:\soft\redis\Redis-3.2>redis-cli.exe -h 10.200.140.20 -p 36379 -a mymima --eval 01.lua
"30"
1.2-示例2
1.用vim编辑器创建02.lua脚本文件
2. 编写脚本内容调用redis
local name = redis.call("get",KEYS[1]) local age = redis.call("get",KEYS[2]) if name=="guigui" then redis.call("set",KEYS[1],ARGV[1]) redis.call("incr",KEYS[2]) end
3.调用redis客户端并使用eval命令使用Lua脚本(带参数)
D:\soft\redis\Redis-3.2>redis-cli.exe -h 10.200.140.20 -p 36379 -a mymima --eval 02.lua name age , shenzhen
(nil)
注意:可以在脚本中用KEYS[1],KEY[2]获取,","后面的sunlin是参数,在脚本中能够使用ARGV[1]和ARGV[2]获得。注:”,"两边的空格不能省略,否则会出错。
4.使用redis管理工具查看redis数据库中的数据
1.3-示例3
修改session相关的token信息的ttl
redis.call("EXPIRE",KEYS[1],2592000) redis.call("set",KEYS[2],ARGV[1]) redis.call("EXPIRE",KEYS[2],2592000)
测试:
D:\soft\redis\Redis-3.2>redis-cli.exe -h 10.200.140.20 -p 36379 -a mymima --eval token.lua deviceId token , uuid_DFDFDFDFDF
(nil)
参考:https://blog.csdn.net/oGuiGui12345/article/details/89761882