在openresty环境下,配置nginx.conf
location /test_redis {
content_by_lua_file lua/test_resty_redis.lua;
}
创建test_resty_redis.lua
-- 加载 OpenResty 内置的 redis 库
local redis = require("resty.redis")
-- 1. 创建 redis 客户端
local client = redis:new()
client:set_timeout(1000) -- 超时时间(1秒)
-- 2. 连接 Redis
local ok, err = client:connect("127.0.0.1", 6379)
if not ok then
ngx.say("Redis 连接失败:", err)
return
end
-- 有密码则认证
-- local ok, err = client:auth("your_redis_pwd")
-- if not ok then ngx.say("密码错误:", err) return end
-- 3. 执行操作(和普通 Lua 语法略有不同)
client:set("name", "OpenResty 测试")
local name, err = client:get("name")
ngx.header.content_type = "text/html; charset=utf-8"
ngx.say("获取 name:", name)
-- 4. 放入连接池(关键:复用连接,提升性能)
client:set_keepalive(10000, 100) -- 空闲 10 秒,最多 100 个连接
-- 不要调用 quit(),否则连接池失效
启动nginx,然后访问 127.0.0.1/test_redis 就可以看到redis的值了