openresty 的连接池好溜啊

2019-05-19 11:44:09 +08:00
 lolizeppelin

刚折腾这玩意第一次写 lua

他的 redis 库说是支持连接池,但是代码超级简单压根没看出来怎么支持连接池的

直接把 python 的连接池代码套了上去折腾了半天

总觉得有点别扭回头又查了下他的连接池实现原理

我操溜得不行...简直是投机!!用起来超级方便,cgi 的方式写代码也能直接池化...

思路非常简单在 connect 上做手脚,如果 connect 的对象是池子里的直接返回就,如果是新的才真的 connect,然后链接次数计数器设置为 0

应用层那边 connect 以后判断一下次数计数器,如果是新链接就执行下 connect 以后的认证之类的代码即可

卧槽这思路超级投机倒把啊!!!

3390 次点击
所在节点    程序员
5 条回复
BBCCBB
2019-05-19 13:13:19 +08:00
不这样实现那怎么实现呢??????
Athrob
2019-05-19 13:22:44 +08:00
这叫持久连接,不是连接池。
Athrob
2019-05-19 13:23:48 +08:00
phpredis 的持久连接也是差不多这样实现的。
lolizeppelin
2019-05-19 13:27:27 +08:00
@Athrob
咋不能叫连接池... 下层帮你实现了 池化管理,控制了连接数,复用了链接,还不叫连接池叫啥

缺点也就是没应用层的心跳包而已
当然这缺点其实蛮致命的,但是代码简化了好多
Athrob
2019-05-19 15:53:53 +08:00
@lolizeppelin #4 没毛病

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565500

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX