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