Memcached是一個(gè)自由、源碼開放、高性能、分布式內(nèi)存對(duì)象緩存系統(tǒng),目的在于通過(guò)減輕數(shù)據(jù)庫(kù)負(fù)載來(lái)使動(dòng)態(tài)Web應(yīng)用程序提速。
俗話說(shuō)好記性不如爛筆頭。
這個(gè)文檔是我用來(lái)記錄閱讀Memcached源碼過(guò)程中的一些經(jīng)驗(yàn),以及分析memcached的一些內(nèi)部工作機(jī)制。
希望也能給大家?guī)?lái)方便。
PDF目錄
1. 背景 .................................................................................................................................. 3
2. memcached的安裝 ........................................................................................................... 4
3. memcached的配置 ........................................................................................................... 5
4. memcached的使用 ........................................................................................................... 6
4.1. 存儲(chǔ)命令 ............................................................................................................ 7
4.2. 讀取命令 ............................................................................................................ 8
4.3. 刪除命令 ............................................................................................................ 8
4.4. 高級(jí)命令 ............................................................................................................ 9
4.5. 其他命令 .......................................................................................................... 10
5. Memcached內(nèi)部工作機(jī)制 ............................................................................................. 11
5.1. Memcached基本的數(shù)據(jù)結(jié)構(gòu) .......................................................................... 11
5.2. 基本設(shè)計(jì)概念和處理流程 .............................................................................. 12
5.3. 內(nèi)部Hash機(jī)制 ................................................................................................ 15
5.3.1. Hash函數(shù)及沖突解決 ............................................................................. 15
5.3.2. HashTable主要函數(shù) ................................................................................ 15
5.4. slab內(nèi)存處理機(jī)制 ........................................................................................... 17
5.4.1. slab主要函數(shù) ........................................................................................... 17
5.4.2. slab機(jī)制中所采用的LRU算法 ............................................................. 19
5.5. 控制item各種函數(shù) ......................................................................................... 20
5.6. 守護(hù)進(jìn)程機(jī)制 .................................................................................................. 22
5.7. Socket處理機(jī)制 .............................................................................................. 23
5.7.1. Unix域協(xié)議 .............................................................................................. 23
5.7.2. TCP/UDP協(xié)議 ......................................................................................... 24
5.8. 多線程處理機(jī)制 .............................................................................................. 25
5.9. 事件處理機(jī)制 .................................................................................................. 25
6. 未完善之處 ..................................................................................................................... 27
7. 參考文獻(xiàn) ......................................................................................................................... 28
本人水平有限,歡迎大家拍磚!
下載PDF
[1].Masahiro Nagano[JP] & charlee(譯).memcached全面剖析.2008-7-2
[2].W.Richard Stevens & 楊繼張(譯).UNIX 網(wǎng)絡(luò)編程(第三版).2004
[3]. W.Richard Stevens.UNIX環(huán)境高級(jí)編程(第二版).2005
[4]. dsallings.Memcached FAQ.2009-9
[5]. bachmozart .Memcached源碼分析(線程模型).
[6]. 愛寫字開發(fā)博客.Linux下啟用Wordpress的memcached支持.