分佈式緩存服務器Memcached介紹

Memcached 豆瓣網 PHP Twitter 程序猿的日常 2017-06-08

什麼是Memcached

Memcached是國外社區網站LiveJournal的開發團隊開發的高性能分佈式內存緩存服務器。一般的使用目的是,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度,提高可擴展性。

Memcached 運行圖

分佈式緩存服務器Memcached介紹

誰在用Memcached

  • 國外:Yahoo, facebook, twitter, wiki等

  • 國內:新浪網,豆瓣網,開心網,搜狐,趕集網等

Memcached 特點

  • 基於C/S架構,協議簡單

  • 基於libevent的事件處理機制

  • 自主內存存儲處理

  • 基於客戶端的Memcached分佈式

自主內存存儲方式

  • 數據存儲方式:Slab Allocation

  • 數據過期方式:Lazy Expiration + LRU

Slab Allocation

分佈式緩存服務器Memcached介紹

分佈式緩存服務器Memcached介紹

Lazy Expiration

Memcached內部不會監視記錄是否過期,而是在get時查看記錄的時間戳,檢查記錄是否過期。這種技術成為lazy expiration。Memcached不會在過期監視上浪費CPU時間。

LRU

Memcached會優先使用已超時的記錄空間,但即使如此,也會發生追加新紀錄時空間不足的情況。這時需要使用Least Recently Used(LRU)機制,刪除最近最少使用的記錄方式來分配空間。

基於客戶端的Memcached分佈式

分佈式緩存服務器Memcached介紹

Memcached與PHP結合使用

分佈式緩存服務器Memcached介紹

相關推薦

推薦中...