大家觉得写一个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模板引擎用啥呢?除了smarty PHP createElement XML的问题 解决一个正则问题,解决给分 请高手指点迷津,批量生成静态页面 ,急急急!! 关于Session:为什么在本机上可以成功但在别人上就不行? 请问mysql_pconnect怎么用的啊? 请问php-4.0.1pl2-Win32.zip、mysql-3.23.19-beta-win.zip这两个文件的下载地址! 急。想请教个东西 PHP+JQUERY的词典小偷程序,要的下载
长连接是无法通过方法关闭,它主要受限于wait_timeout或interactive_timeout的值。那么问题就来了,你的c扩展,该通过何种方法直接关闭一个长连接?动态更改wait_timeout或interactive_timeout的值?这不现实吧?而且这个值是针对全部连接的,你无法只针对某一个连接来做这个操作。所里这个连接池看起来简单,实际上还是有不少问题值得思考的,mysql提供的接口是否够我们的c扩展库来用。首先要把mysql的底层研究透彻。php开发团队没有提供连接池,也许是受限于php和mysql的特性决定了这种短连接的方式最合适。不然它为什么不模仿java呢?
连接池……好烦啊……