分散式快取伺服器Memcached介紹

weixin_34402408發表於2017-09-29

什麼是Memcached

Memcached是國外社群網站LiveJournal的開發團隊開發的高效能分散式記憶體快取伺服器。一般的使用目的是,通過快取資料庫查詢結果,減少資料庫訪問次數,以提高動態Web應用的速度,提高可擴充套件性。
Memcached 執行圖


3601798-66d9efb0a1ab152d
分散式快取伺服器Memcached介紹

誰在用Memcached

國外:Yahoo, facebook, twitter, wiki等

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

Memcached 特點

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

基於libevent的事件處理機制

自主記憶體儲存處理

基於客戶端的Memcached分散式

自主記憶體儲存方式
資料儲存方式:Slab Allocation

資料過期方式:Lazy Expiration + LRU

Slab Allocation

3601798-3ea73792a8ff9b2d
分散式快取伺服器Memcached介紹

3601798-a78797acdefe3c47
分散式快取伺服器Memcached介紹

Lazy Expiration
Memcached內部不會監視記錄是否過期,而是在get時檢視記錄的時間戳,檢查記錄是否過期。這種技術成為lazy expiration。Memcached不會在過期監視上浪費CPU時間。
LRU
Memcached會優先使用已超時的記錄空間,但即使如此,也會發生追加新紀錄時空間不足的情況。這時需要使用Least Recently Used(LRU)機制,刪除最近最少使用的記錄方式來分配空間。
基於客戶端的Memcached分散式
3601798-f3f73a955ba4c980
分散式快取伺服器Memcached介紹

Memcached與PHP結合使用

3601798-bcff4214dd360c6d.png
image.png

相關文章