lua脚本使用redis
1 安装工具包
luarocks install redis-lua
2 使用lua语言连接redis
local MyFirstHandler = {
-- 插件的优先级,决定了插件的执行顺序;数字越大,优先级越高,越早执行
PRIORITY = 1101,
-- 插件的版本号
VERSION = "0.1.0-1",
}
-- 在Nginx worker启动时执行
function MyFirstHandler:init_worker()
kong.log("data:init_worker") -- 用来确认是否加载成功的日志
end
-- 收到请求,还没进入server处理时执行,
-- 此处判断路径如果不是/sayHello和/sayBye直接返回字符串"only support /sayHello and /sayBye"
function MyFirstHandler:rewrite()
kong.log("MyFirstHandler:rewrite")
local rawPath = kong.request.get_raw_path() -- 使用PDK获取请求URL
kong.log("rewrite rawpath: " .. rawPath)
if rawPath ~= "/sayHello" and rawPath ~= "/sayBye" then
kong.log("not support rawPath: " .. rawPath)
return kong.response.exit(404, "only support /sayHello and /sayBye")
end
kong.log("rewrite finish")
end
function MyFirstHandler:access()
kong.log("access")
kong.service.request.set_header("req-key", "plugin-header-value")
end
-- 注意,即使rewrite中使用了kong.response.exit, 这里也会执行
function MyFirstHandler:header_filter()
kong.log("header_filter")
local header = kong.service.response.get_header("rsp-key")
if header ~= nil then
kong.log(header)
kong.response.set_header("rsp-key", header .. " modify by plugin")
end
end
function MyFirstHandler:body_filter()
kong.log("body_filter")
end
return MyFirstHandler
3 更多redis-lua包的使用可以去官网找,给一个比较全的地址方便检索
Redis-Lua 入门指南:使用 Lua 脚本操作 Redis-易源AI资讯 | 万维易源
看了一下目前就这个文章内容比较全,完全够使用