memcached全面剖析

2021-05-08 12:12:40 字數 1865 閱讀 5681

如今,越來越多的web應用程式開始使用memcached這個高速的快取伺服器軟體。然而,memcached的基礎知識遠遠未能像其他web技術那樣普及,memcached在國內的大規模應用也鮮為人知。而日本的mixi(mixi.jp)則在這方面走在了前面,不僅大規模使用memcached作為快取來加速web應用,而且自行開發了tokyo cabinit、tokyo tyrant等一系列相關的軟體。

這是由 mixi 株式會社 開發部系統運營組的兩位工程師野雅廣、前阪徹所寫,日常負責程式的運營。本文將針對最近在web應用的可擴充套件性領域的熱門話題memcached,說明其內部結構和使用。這篇**語言簡潔、通俗易懂,非常適合memcached入門的人閱讀。 

非常感謝charlee將其譯成中文。

第一章 memcached的基礎

1.1 memcached是什麼?

1.2 memcached的特徵

協議簡單

基於libevent的事件處理

內建記憶體儲存方式

memcached不互相通訊的分布式

1.3 安裝memcached

memcached的安裝

memcached的啟動

1.4 用客戶端連線

1.5 使用cache::memcached

使用cache::memcached連線memcached

儲存資料

獲取資料

刪除資料

增一和減一操作

1.6 總結

第二章 理解memcached的記憶體儲存

2.1 slab allocation機制:整理記憶體以便重複使用

slab allocation的主要術語

2.2 在slab中快取記錄的原理

2.3 slab allocator的缺點

2.4 使用growth factor進行調優

2.5 檢視memcached的內部狀態

2.6 檢視slabs的使用狀況

2.7 總結

第三章 memcached的刪除機制和發展方向

3.1 memcached在資料刪除方面有效利用資源

資料不會真正從memcached中消失

lazy expiration

3.2 lru:從快取中有效刪除資料的原理

3.3 memcached的最新發展方向

關於二進位制協議

二進位制協議的格式

header中引人注目的地方

3.4 外部引擎支援

外部引擎支援的必要性

簡單api設計的成功的關鍵

重新審視現在的體系

3.5 總結

第四章 memcached的分布式演算法

4.1 memcached的分布式

memcached的分布式是什麼意思?

4.2 cache::memcached的分布式方法

根據餘數計算分散

根據餘數計算分散的缺點

4.3 consistent hashing

consistent hashing的簡單說明

支援consistent hashing的函式庫

4.4 總結

第五章 memcached的應用和相容程式

5.1 mixi案例研究

伺服器配置和數量

memcached程序

memcached使用方法和客戶端

5.2 memcached應用經驗

通過daemontools啟動

監視memcached的效能

5.3 相容應用程式

tokyo tyrant案例

5.4 總結

memcached全面剖析

memcached介紹 如今,越來越多的web應用程式開始使用memcached這個高速的快取伺服器軟體。然而,memcached的基礎知識遠遠未能像其他web技術那樣普及,memcached在國內的大規模應用也鮮為人知。而日本的mixi mixi.jp 則在這方面走在了前面,不僅大規模使用memc...

全面剖析SharedPreferences

2.context.getsharedpreferences name,mode 獲取sharedpreferences,只要是context都能獲取 4.建立同名的.bak備份檔案用於發生異常時,可通過備份檔案來恢復資料.5.將xml檔案載入到記憶體中,這個操作的執行緒是新開的,但是會阻塞get ...

全面剖析SharedPreferences

2.context.getsharedpreferences name,mode 獲取sharedpreferences,只要是context都能獲取 4.建立同名的.bak備份檔案用於發生異常時,可通過備份檔案來恢復資料.5.將xml檔案載入到記憶體中,這個操作的執行緒是新開的,但是會阻塞get ...