關(guān)于和數(shù)據(jù)庫的問題
老師,你這個代碼的話我點一次下一頁,他就會讀一次數(shù)據(jù)庫。一個網(wǎng)站不止一個人用,如果很多人(幾萬、幾十萬)同時點擊,那么就會同時訪問數(shù)據(jù)庫。數(shù)據(jù)庫這樣下去不就掛了?有什么更好的方法解決這個問題嗎?
老師,你這個代碼的話我點一次下一頁,他就會讀一次數(shù)據(jù)庫。一個網(wǎng)站不止一個人用,如果很多人(幾萬、幾十萬)同時點擊,那么就會同時訪問數(shù)據(jù)庫。數(shù)據(jù)庫這樣下去不就掛了?有什么更好的方法解決這個問題嗎?
2016-01-11
舉報
2016-01-11
分頁可以這樣做,你一下子緩存把所有數(shù)據(jù)緩存下來也不靠譜。 你緩存10頁到20頁的數(shù)據(jù)。當(dāng)點擊到21頁往后的數(shù)據(jù)時候再去請求數(shù)據(jù)庫。請求和緩存兩不誤。
2016-01-11
上面說的CDN,使用redis或者memcached,設(shè)計服務(wù)器集群等等方案這些也可以做,但是這些都是要運維去搞得了,如果你想自己從代碼層去優(yōu)化不防試下剛說的方法。
2016-01-11
嗯呢,這個就涉及到并發(fā)性的問題?。‘?dāng)一個網(wǎng)站達(dá)到一定規(guī)模后就需要考慮這些問題,最常見的解決方案,主從服務(wù)器配置,使用CDN,使用redis或者memcached,設(shè)計服務(wù)器集群等等方案。你可以在網(wǎng)上搜索一下,如何解決高并發(fā)。
2016-01-11
讀取數(shù)據(jù)庫是必然的,因為你需要從中取數(shù)據(jù)更新數(shù)據(jù)就必須與它建立連接,至于如何處理大批量,現(xiàn)在有種機(jī)制叫做緩存,所以當(dāng)大批量的訪問發(fā)生時并不是一次性都遇數(shù)據(jù)庫連接的。