大家觉得写一个PHP连接池性质的扩展有没有用? 应该没有必要吧。毕竟这门语言的创始人,开发团队会有这方面的考虑。就算会往这方面发展,也要看php版本的发展了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 错了,长连接并非只能建立一个连接。长连接其实也是数据库的一个操作建立一个连接。不信你自己使用长连接,然后去mysql下show processlist看看。写个连接池其实还是不错的,可以令长连接比现在更有价值。但要深入研究下如何管理才能使得效率比短连接更好。比如,一个连接应当存在多久?哪些操作不需要再重新建立连接(我认为,对于操作空闲时间少于一定值的数据库操作应该一直保持连接状态)?何时该彻底关闭连接(当操作空闲时间大于一个值的时候断开此连接)?这些可以在扩展库里面定义好,但也要提供接口给php开发人员,让他们自己show出当前所有连接,让他们也可以自己断开某个连接。这个超时时间一定要拿捏好,并且这些操作针对不同的服务器,不同的web应用,肯定都是不同的。你要建立连接池,首先,你必须将所有连接默认为长连接。长连接是无法通过方法关闭,它主要受限于wait_timeout或interactive_timeout的值。那么问题就来了,你的c扩展,该通过何种方法直接关闭一个长连接?动态更改wait_timeout或interactive_timeout的值?这不现实吧?而且这个值是针对全部连接的,你无法只针对某一个连接来做这个操作。所里这个连接池看起来简单,实际上还是有不少问题值得思考的,mysql提供的接口是否够我们的c扩展库来用。首先要把mysql的底层研究透彻。php开发团队没有提供连接池,也许是受限于php和mysql的特性决定了这种短连接的方式最合适。不然它为什么不模仿java呢? 上面说的有点问题,长连接对于不同的socket请求,一个请求会建立一个连接。 长连接数相关apache进程吧,每开一个进程,如果用了长连接就建立了一个,废话……apache彻底回收一个进程后,这个长连接结束,是不是这样啊连接池……好烦啊…… 没用,Apache等web server就可以搞定这些一个页面就只有一个处理! PHP这种错误应该如何解决? php循环输出表格错位的问题 php 在linux 下载test.tgz文件 保存是弹出是否保存test.gz文件? 关于php编写网站自动登录的问题 谢谢了~ windows2003配置php报错, 腾讯微博API接口的问题 类引用问题 新手请教:调用函数时无任何输出结果 为什么用ip连接mysql数据库会报错? 凌风前辈,多谢相助~请来收分~ 急。想请教个东西 PHP+JQUERY的词典小偷程序,要的下载
长连接是无法通过方法关闭,它主要受限于wait_timeout或interactive_timeout的值。那么问题就来了,你的c扩展,该通过何种方法直接关闭一个长连接?动态更改wait_timeout或interactive_timeout的值?这不现实吧?而且这个值是针对全部连接的,你无法只针对某一个连接来做这个操作。所里这个连接池看起来简单,实际上还是有不少问题值得思考的,mysql提供的接口是否够我们的c扩展库来用。首先要把mysql的底层研究透彻。php开发团队没有提供连接池,也许是受限于php和mysql的特性决定了这种短连接的方式最合适。不然它为什么不模仿java呢?
连接池……好烦啊……