简单来说,set_keepalive使用时是用来替代close的,如果使用了set_keepalive之后再对连接进行任何除了connect的操作都会报错。 看来看官方文档很重要啊! 改进下: local redis = require "resty.redis" local red = redis:new() --red:set_timeouts(1000, 1000, 1000) --red:set_keepalive(1000, 20) red:conne...
local ok, err = red:set_keepalive(pool_max_idle_time, pool_size) if not ok then ngx.say("set keepalive error : ", err) end end local redis = require "resty.redis" --引入redis模块 local red = redis:new() --创建一个对象,注意是用冒号调用的 --设置超时(毫秒) red:set_timeout(10...
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("set keepalive error : ", er...
ngx.say("set keepalive error : ", err) end end -- change connect address as you need function _M.connect_mod( self, redis ) redis:set_timeout(self.timeout) local ok, err = redis:connect(self.ip, self.port) if not ok then ngx.say("connect to redis error : ", err) return se...
3、使用redis连接池 local ok, err = red:set_keepalive(60000, 20) 4、需要密码的redis的访问:使用 auth 方法 local ok, err = red.connect(red, "127.0.0.1", "6379") if not ok then return end local res, err = red:auth("password") if not res then return end ...
slock是高性能的状态及原子操作数据库,redis则是高性能的内存缓存数据库,使用下边nginx配置文件即可快速基于slock和redis构建一个高性能高可用long polling服务。同时构建的此long polling服务是一个通用服务,即可用于扫码登录这样的需求完成状态推送,也可用于像消息系统、私信系统等的消息推送。
The API call is successful and no error logs regardingset_keepalive However, during tests,ngx.socket.tcpseem to have no effect, all connections to redis entersTIME_WAITright after use, (It's not a pressure test, only 1 request is sent to openresty) ...
在OpenResty中,在需要关闭连接时,使用client:set_keepalive(TIMEOUT, POOL_SIZE)代替client:close(),即可激活连接池特性。 尽量使用 Unix 套接字 OpenResty内置的Redis驱动连接Redis服务器有两种方式,一种是使用 IP 和端口,一种是使用 Unix 套接字。
local redis = require "resty.redis" local red = redis:new() red:set_timeout(1000) -- 1 sec -- or connect to a unix domain socket file listened -- by a redis server: -- local ok, err = red:connect("unix:/path/to/redis.sock") local ok, err = red:connect("127.0.0.1", ...
创建一个test_redis_basic.lua文件 vim /usr/example/lua/test_redis_basic.lua localfunctionclose_redis(red) ifnot 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) ...