大家好, 我在使用lua-resty-redis从redis提取缓存数据, 在进行压力测试时发现与redis建立了巨量链接数.
带着疑问我查看了文档以及源码, red:new的时候会调用ngx.socket.tcp()取得cosocket, 附上部分源码
function _M.new(self){
local sock, err = tcp()
...
return setmetatable({_sock = sock, _subscribe = false},mt);
end
翻了一下maillist依然无法解除我的疑问:
当red创建连接数超出线程池大小的时候, 究竟是不断创建短链接(无上限地增加连接数), 还是会用LRU从cosocket中剔除链接, 放入新链接(有限连接数) ?