同一个 php 脚本, A 客户端和 B 客户端同时访问, php 脚本中的链接 mysql ,能不能共用一个 php 到 mysql 链接?
1
wd0g 2016-01-31 20:15:20 +08:00
这个还真没搞过
题主的意思是 每次 mysql 连接费时间吗? |
2
hildert 2016-01-31 20:21:49 +08:00
mysql_pconnect 应该是你要找的方式?
[mysql_pconnect]( http://php.net/manual/zh/function.mysql-pconnect.php) |
5
em70 2016-01-31 22:11:03 +08:00 via iPhone
感觉没有必要,加缓存更省
|
6
lecher 2016-02-01 00:24:05 +08:00 via Android 1
不能,每个请求占用一个 PHP 进程,但是实际情况中开 php-fpm 的情况下, PHP 进程可以在很短的时间内完成 a 的请求处理,但是不退出,清理数据之后,继续处理 b 的请求。但是只能保证一次请求内 MySQL 连接持久化,连接结束会自动销毁 MySQL 的连接在内的所有数据。
这种业务是缓存改干的活,没必要死抓 MySQL 去优化,如果网页内容与用户状态无关,生成静态页也无妨。或者用个内存缓存数据库, memcached 、 Redis 之类的,把一次请求要返回的数据打包好存进去,下个同样的请求直接取出来渲染就好。 |
7
itlr 2016-02-01 01:09:55 +08:00
never
|
8
pynix 2016-02-01 03:15:48 +08:00
每个请求会连接一次数据库,感觉很浪费的样子。
|
10
skyworker 2016-02-01 13:22:08 +08:00
mysqli 好像有个 mysql_ping 函数,可以验证当前连接是否已经被放弃.如果放弃了就再创建一次连接,没有的话就仍然使用当前连接
|
11
php230 2016-02-01 17:33:03 +08:00
各有利弊吧
mysql 每次请求,链接一次,肯定会增加开销;但是如果用 mysql_pconnect 长连接,如果前面一个阻塞了,后面的连接就...... |