lua + redis 连接池设置

local function close_redis(red)
    if not red then
        return        
    end
    local pool_max_idle_time =10000
    local pool_size =100
    local ok,err = red:set_keepalive(pool_max_idle_time,pool_size)
    if not ok then
        ngx.say("redis connct err:",err)

       --是否需要?自己加的
        return red:close()
    end
end

检查连接是否被使用过

red:get_reused_times

--优化验证

local redis =require "resty.redis"

local red =redis:new()

red:set_timeout(10000)

local ip ="192.168.1.66"
local port =6379

local ok,err =red:connect(ip,port)
--验证密码
local ok,err =red:auth("123456")
--可以优化验证密码操作
--代表连接在连接池使用的次数,如果为0代表未使用,不为0代表复用
--在只有为0时才进行密码校验
local count,err =red:get_reused_times()
if 0 ==count then
    local ok,err =red:auth("123456")
    if not ok then
        ngx.say("auth fail",err)
        return
    end
elseif err then
    ngx.say("fail get redis connct times",err)
    return
end

你可能感兴趣的:(redis,lua,openresty)