memcached是1個高性能的散布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)web利用以減輕數(shù)據(jù)庫負載。它通過內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫網(wǎng)站的速度。memcached基于1個存儲鍵/值對的hashmap。
在使用進程中,發(fā)現(xiàn)memcached和Hibernate的查詢緩存作用相當,都是把查詢頻繁的數(shù)據(jù)并且更新不頻繁的數(shù)據(jù)放到內(nèi)存中,然后每次讀取的時候,從內(nèi)存中讀取,這樣就增加了訪問效力。類似于cpu的高速緩存。
也就是說你不用去離家遠的大超市去買東西,你家樓下會備份1份,1旦沒有了再去大超市。
http://memcached.org/
首次訪問會從RDBMS中獲得數(shù)據(jù)并保存在memcached,第2次訪問的時候會從memcached中獲得數(shù)據(jù)顯示在頁面中。
國外:Tokyo Cabinet:http://tokyocabinet.sourceforge.net/index.html(日本mixi.jsp公司開發(fā))
國內(nèi):MemcacheDB:http://memcachedb.org(新浪開源Team開發(fā))
1、memcached基于C/S架構,協(xié)議簡單
2、基于libevent時間處理。
libevent1套跨平臺事件處理接口封裝,能夠兼容包括這些操作系統(tǒng):windows、linux、BSD、Solaris等操作系統(tǒng)的事件處理。memcached使用libevent來進行網(wǎng)絡并發(fā)連接處理,能夠保持在很大并發(fā)情況下,仍舊能夠保持快速的響應能力。
3、自出內(nèi)存存儲處理。
4、基于客戶真?zhèn)€memcached散布式。客戶端程序庫,通過散布式算法找到對應的服務器。(具體見此博客)
下1篇memcached 安裝和實踐demo