openresty 怎么初始化 Redis连接呢
时间: 2024-05-15 12:15:08 浏览: 15
在 OpenResty 中,我们可以使用 Lua-resty-redis 库来初始化 Redis 连接。这个库提供了 Lua 对 Redis 的完整支持,包括连接池管理和 Redis 命令执行。
以下是初始化 Redis 连接的示例代码:
```lua
local redis = require "resty.redis"
local red = redis:new()
-- 设置连接超时时间(毫秒)
red:set_timeout(1000)
-- 连接 Redis 服务器
local ok, err = red:connect("127.0.0.1", 6379)
if not ok then
ngx.log(ngx.ERR, "failed to connect: ", err)
return
end
-- 认证(如果设置了密码)
local res, err = red:auth("password")
if not res then
ngx.log(ngx.ERR, "failed to authenticate: ", err)
return
end
-- 选择 Redis 数据库
local res, err = red:select(0)
if not res then
ngx.log(ngx.ERR, "failed to select database: ", err)
return
end
-- 执行 Redis 命令
local res, err = red:get("key")
if not res then
ngx.log(ngx.ERR, "failed to get key: ", err)
return
end
-- 关闭 Redis 连接(必须要关闭)
red:close()
```
在上面的示例代码中,我们使用 `redis:new()` 函数初始化了 Redis 连接对象 `red`。然后通过 `red:connect()` 函数连接 Redis 服务器,并通过 `red:auth()` 函数认证用户身份。接着使用 `red:select()` 函数选择 Redis 数据库,最后使用 `red:get()` 函数获取 Redis 中的键值对。
在使用完 Redis 连接后,我们必须要调用 `red:close()` 函数关闭连接,以释放资源。