lua 操作redis
Posted tataerwuge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua 操作redis相关的知识,希望对你有一定的参考价值。
Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行。使用脚本的好处如下:
- 1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成。使用脚本,减少了网络往返时延。
- 2.原子操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。
- 3.复用:客户端发送的脚本会永久存储在Redis中,意味着其他客户端可以复用这一脚本而不需要使用代码完成同样的逻辑。
使用方式:
redis-cli --eval demo.lua key1 key2.. , val1 val2...
redis-cli eval "$(cat demo.lua)" 2 key1 key2.. val1 val2... // 2 key 数量
redis-cli eval "return redis.call(‘get‘,‘a‘)" 0
demo.lua
local vals = redis.call(‘get‘,KEYS[1]);
print(vals)
调用
redis-cli --eval demo.lua a <==>redis> get a
以上是关于lua 操作redis的主要内容,如果未能解决你的问题,请参考以下文章
REDIS自增INCR设置过期时间的原子操作(LUA&PHP实现)