Memcached是一个自由、源码开放、高性能、分布式内存对象缓存系统,目的在于通过减轻数据库负载来使动态Web应用程序提速。
俗话说好记性不如烂笔头。
这个文档是我用来记录阅读Memcached源码过程中的一些经验,以及分析memcached的一些内部工作机制。
希望也能给大家带来方便。
PDF目录
1. 背景 .................................................................................................................................. 3
2. memcached的安装 ........................................................................................................... 4
3. memcached的配置 ........................................................................................................... 5
4. memcached的使用 ........................................................................................................... 6
4.1. 存储命令 ............................................................................................................ 7
4.2. 读取命令 ............................................................................................................ 8
4.3. 删除命令 ............................................................................................................ 8
4.4. 高级命令 ............................................................................................................ 9
4.5. 其他命令 .......................................................................................................... 10
5. Memcached内部工作机制 ............................................................................................. 11
5.1. Memcached基本的数据结构 .......................................................................... 11
5.2. 基本设计概念和处理流程 .............................................................................. 12
5.3. 内部Hash机制 ................................................................................................ 15
5.3.1. Hash函数及冲突解决 ............................................................................. 15
5.3.2. HashTable主要函数 ................................................................................ 15
5.4. slab内存处理机制 ........................................................................................... 17
5.4.1. slab主要函数 ........................................................................................... 17
5.4.2. slab机制中所采用的LRU算法 ............................................................. 19
5.5. 控制item各种函数 ......................................................................................... 20
5.6. 守护进程机制 .................................................................................................. 22
5.7. Socket处理机制 .............................................................................................. 23
5.7.1. Unix域协议 .............................................................................................. 23
5.7.2. TCP/UDP协议 ......................................................................................... 24
5.8. 多线程处理机制 .............................................................................................. 25
5.9. 事件处理机制 .................................................................................................. 25
6. 未完善之处 ..................................................................................................................... 27
7. 参考文献 ......................................................................................................................... 28
本人水平有限,欢迎大家拍砖!
下载PDF
[1].Masahiro Nagano[JP] & charlee(译).memcached全面剖析.2008-7-2
[2].W.Richard Stevens & 杨继张(译).UNIX 网络编程(第三版).2004
[3]. W.Richard Stevens.UNIX环境高级编程(第二版).2005
[4]. dsallings.Memcached FAQ.2009-9
[5]. bachmozart .Memcached源码分析(线程模型).
[6]. 爱写字开发博客.Linux下启用Wordpress的memcached支持.