Redis运行Lua脚本

直接运行Lua脚本

eval "return 1+1" 0

传参数

eval "local msg = 'hello:' return msg..ARGV[1]" 1 name aaa

运行文件脚本

eval test.lua 0

脚本管理,重启后缓存的脚本会消失

script load "$(cat test.lua)"
evalsha "a27e7e8a43702b7046d4f6a7ccf5b60cef6b9bd9" 0

Lua脚本访问Redis

count.lua

local count = 0
local redisCount = redis.call('get', 'count')
if redisCount then
  count = redisCount
end
count = count + 1
redis.call('set', 'count', count)
return count