lua操作redis
在openresty环境下,配置nginx.conf location /test_redis { content_by_lua_file lua/test_resty_redis.lua;

lua操作redis

发布时间:2026-01-08 (2026-01-08)

在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的值了