http://baike.baidu.com/view/794242.htm?fr=ala0_1
memcached
Memcached是什麼?
Memcached 是一個高效能的分布式記憶體對象緩衝系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和對象來減少讀取資料庫的次數,從而提供動態、資料庫驅動網站的速度。Memcached基於一個儲存鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是用戶端可以用任何語言來編寫,並通過memcached協議與守護進程通訊。但是它並不提供冗餘(例如,複製其hashmap條目);當某個伺服器S停止運行或崩潰了,所有存放在S上的鍵/值對都將丟失。
Memcached由Danga Interactive開發,用於提升LiveJournal.com訪問速度的。LJ每秒動態網頁面訪問量幾千次,使用者700萬。Memcached將資料庫負載大幅度降低,更好的分配資源,更快速存取。
如何使用memcached-Server端?
在服務端運行:
# ./memcached -d -m 2048 -l 10.0.0.40 -p 11211
這將會啟動一個佔用2G記憶體的進程,並開啟11211連接埠用於接收請求。由於32位系統只能處理4G記憶體的定址,所以在大於4G記憶體使用量PAE的32位伺服器上可以運行2-3個進程,並在不同連接埠進行監聽。
如何使用memcached-Client端?
在應用端包含一個用於描述Client的Class後,就可以直接使用,非常簡單。
PHP Example:
$options["servers"] = array("192.168.1.41:11211", "192.168.1.42:11212");
$options["debug"] = false;
$memc = new MemCachedClient($options);
$myarr = array("one","two", 3);
$memc->set("key_one", $myarr);
$val = $memc->get("key_one");
print $val[0]."\n"; // prints 'one‘
print $val[1]."\n"; // prints 'two‘
print $val[2]."\n"; // prints 3
採用memcached網站示範:
http://blog.lyxcf.com/5864.lyxcf