這是由于數(shù)據(jù)庫連接數(shù)過多導(dǎo)致的,說明之前建立的連接你沒有釋放。
成都網(wǎng)站建設(shè)、網(wǎng)站制作,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)公司已向上千余家企業(yè)提供了,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價格為您打造企業(yè)品質(zhì)網(wǎng)站。
看到你的需求是實(shí)時獲取數(shù)據(jù)庫里面的內(nèi)容,可以考慮使用內(nèi)存數(shù)據(jù)庫,這樣返回的效率高,也會避免過多連接的錯誤。
可以使用redis和memcache來解決這個問題。代碼如下,記得首先要安裝redis,并且要安裝php-redis擴(kuò)展。
?php
$redis = new Redis();
$redis-connect('127.0.0.1', 6379);//serverip port
$redis-auth('mypassword');//my redis password
$redis -set( "test" , "Hello World");
echo $redis -get( "test");
不會丟失,但是會消耗php與數(shù)據(jù)庫之間的連接數(shù),不過默認(rèn)情況下是會在一定時間后自動斷開的。但是養(yǎng)成斷開數(shù)據(jù)庫連接的寫法,在大負(fù)荷的網(wǎng)站建設(shè)時很有幫助的。
1、apache調(diào)起多少個php來服務(wù),要看你的apache配置和php配置了。
2、php - mysql,看你用的什么php框架,以及有沒有獨(dú)立的數(shù)據(jù)庫broker服務(wù)。
如果操作這個數(shù)據(jù)的人不多,并你進(jìn)行長連接的連接資源使用很頻繁的話使用長連接。這樣速度比較快。
顧名思義,長連接就是一直連接從未斷開。你應(yīng)該清楚數(shù)據(jù)庫連接有的是限定連接個數(shù)的。你一直連接就占用了一個連接資源。如果連接這個數(shù)據(jù)庫的人不多的話,這樣沒問題,還能加快速度,你每次操作數(shù)據(jù)庫的時候不用在進(jìn)行連接操作。這樣會加快效率。
如果這個數(shù)據(jù)庫使用的人比較多的話,最好使用短鏈接,這樣用完就釋放。不會一直占著連接資源。導(dǎo)致其他人想用都連接不上。