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