memcached介绍
如今,越来越多的Web应用程序开始使用memcached这个高速的缓存服务器软件。然而,memcached的基础知识远远未能像其他Web技术那样普及,memcached在国内的大规模应用也鲜为人知。而日本的mixi(mixi.jp)则在这方面走在了前面,不仅大规模使用memcached作为缓
存来加速Web应用,而且自行开发了Tokyo Cabinit、Tokyo Tyrant等一系列相关的软件。
这是由 mixi 株式会社 开发部系统运营组的两位工程师野雅广、前坂徹所写,日常负责程序的运营。本文将针对最近在Web应用的可扩展性领域的热门话题memcached,说明其内部结构和使用。这篇连载语言简洁、通俗易懂,非常适合memcached入门的人阅读。
非常感谢charlee将其译成中文。
memcached全面剖析分为五个章节、案例讲解,推荐大家阅读学习,中文版PDF文档下载地址。
第一章 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 总结