memcached全面剖析

2018-01-29 11:05:52 浏览数 (1)

如今,越来越多的Web应用程序开始使用memcached这个高速的缓存服务器软件。然而,memcached的基础知识远远未能像其他Web技术那样普及,memcached在国内的大规模应用也鲜为人知。而日本的mixi(mixi.jp)则在这方面走在了前面,不仅大规模使用memcached作为缓存来加速Web应用,而且自行开发了Tokyo Cabinit、Tokyo Tyrant等一系列相关的软件。

这是由 mixi 株式会社 开发部系统运营组的两位工程师野雅广、前坂徹所写,日常负责程序的运营。本文将针对最近在Web应用的可扩展性领域的热门话题memcached,说明其内部结构和使用。这篇连载语言简洁、通俗易懂,非常适合memcached入门的人阅读。 

非常感谢charlee将其译成中文。

  • 第1章:http://tech.idv2.com/2008/07/10/memcached-001/
  • 第2章:http://tech.idv2.com/2008/07/11/memcached-002/
  • 第3章:http://tech.idv2.com/2008/07/16/memcached-003/
  • 第4章:http://tech.idv2.com/2008/07/24/memcached-004/
  • 第5章:http://tech.idv2.com/2008/07/31/memcached-005/

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 总结

0 人点赞