Posted on 2009-10-30 19:19
詩(shī)特林 閱讀(476)
評(píng)論(0) 編輯 收藏 所屬分類:
系統(tǒng)架構(gòu)
Memcached是什么?
Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提供動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。Memcached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程(daemon )是用C寫(xiě)的,但是客戶端可以用任何語(yǔ)言來(lái)編寫(xiě),并通過(guò)memcached協(xié)議與守護(hù)進(jìn)程通信。但是它并不提供冗余(例如,復(fù)制其hashmap條目);當(dāng)某個(gè)服務(wù)器S停止運(yùn)行或崩潰了,所有存放在S上的鍵/值對(duì)都將丟失。
Memcached由Danga Interactive開(kāi)發(fā),用于提升LiveJournal.com訪問(wèn)速度的。LJ每秒動(dòng)態(tài)頁(yè)面訪問(wèn)量幾千次,用戶700萬(wàn)。Memcached將數(shù)據(jù)庫(kù)負(fù)載大幅度降低,更好的分配資源,更快速訪問(wèn)。
如何使用memcached-Server端?
在服務(wù)端運(yùn)行:
# ./memcached -d -m 2048 -l 10.0.0.40 -p 11211
這將會(huì)啟動(dòng)一個(gè)占用2G內(nèi)存的進(jìn)程,并打開(kāi)11211端口用于接收請(qǐng)求。由于32位系統(tǒng)只能處理4G內(nèi)存的尋址,所以在大于4G內(nèi)存使用PAE的32位服務(wù)器上可以運(yùn)行2-3個(gè)進(jìn)程,并在不同端口進(jìn)行監(jiān)聽(tīng)。