如今,越来越多的Web应用程序开始使用memcached这个高速的缓存服务器软件。然而,memcached的基础知识远远未能像其他Web技术那样普及,memcached在国内的大规模应用也鲜为人知。而日本的mixi(mixi.jp)则在这方面走在了前面,不仅大规模使用memcached作为缓存来加速Web应用,而且自行开发了Tokyo Cabinit、Tokyo Tyrant等一系列相关的软件。
这是由 mixi 株式会社 开发部系统运营组的两位工程师野雅广、前坂徹所写,日常负责程序的运营。本文将针对最近在Web应用的可扩展性领域的热门话题memcached,说明其内部结构和使用。这篇连载语言简洁、通俗易懂,非常适合memcached入门的人阅读。
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 总结
非常感谢charlee将其译成中文,原作者发布地址。
分享到:
相关推荐
memcached是一款高性能、分布式内存对象缓存系统,最初由Danga Interactive开发,用于减少数据库负载,通过缓存数据和对象来加速Web应用程序。它以key-value的形式存储数据,支持多种编程语言,如Perl、PHP、Python...
《memcached全面剖析》是一本针对memcached技术的详细教程,旨在为技术人员提供深入理解和使用此缓存系统的全面指导。通过PDF形式,这份资料方便了读者在线阅读或下载保存,便于随时查阅和学习。作为一款广泛应用于...
### MemCached 全面剖析 #### 一、MemCached 基础介绍 **1.1 MemCached 是什么?** MemCached 是一个高性能、分布式内存对象缓存系统,旨在减轻数据库负担,加速动态Web应用的速度。它通过在内存中缓存数据和对象...
标题“memcached全面剖析资料”表明我们将深入探讨memcached,这是一个流行的分布式内存对象缓存系统,用于提高Web应用程序的性能。它通过将数据存储在内存中来减少对数据库的访问,从而加快了数据检索速度。这篇...
│ alisoft-xplatform-asf-cache-2.4.jar │ list.txt │ Memcached+Study.pdf │ memcached全面剖析.zip │ └─memcached全面剖析 memcached.pdf
首先,"缓存全面剖析.pdf"很可能是一份详尽的缓存技术指南,它可能包含以下知识点: 1. **缓存的基本概念**:缓存是存储系统的一部分,用于暂时存储常用数据,以便快速访问。它可以位于内存中,硬盘上,甚至在网络...
2. "memcached权威指南.pdf":这是一份全面介绍Memcached的参考资料,可能包括了Memcached的工作原理、配置选项、API接口、性能调优、故障排查等方面的内容,适合初学者和进阶用户阅读。 3. ...
标题中的“memcached分析文档”指的是对开源内存...这份“memcached.pdf”文档将是对以上知识点的详细解读,帮助读者全面理解并有效使用Memcached。对于希望提升Web应用性能的开发者来说,这是一份非常有价值的资源。
总之,《Apache, MySQL, memcached和Perl开发Web应用程序》是一本全面而实用的教程,对于希望提升Web开发技能,尤其是使用开源技术栈的程序员来说,是一份不可多得的资源。通过阅读并实践书中的内容,读者将能够构建...
压缩包内的《memcached全面剖析.pdf》和《Memcached实例与文档》是深入学习Memcached的重要资料。书籍通常会详细介绍Memcached的设计理念、内部机制、最佳实践,以及如何与其他技术(如PHP、Python、Java等)集成。 ...
这本书可能是 memcached 的官方或非官方指南,包含 memcached 的安装、配置、使用方法、最佳实践等全面信息。读者可以从中了解如何高效地部署和管理 memcached 集群。 **四、ConsistenHashing and Random Trees: ...
《大型网站技术架构:核心原理与...总而言之,《大型网站技术架构:核心原理与案例分析》是一本全面介绍大型网站技术架构的书籍,对于希望深入了解这一领域的读者来说,无论是理论学习还是实践操作,都能从中获益匪浅。
它能够监控容器编排平台如Kubernetes和Docker Swarm,以及具体的容器内应用或服务,例如Nginx、Memcached、MongoDB、MySQL和Redis等。通过服务发现和自定义的Exporter,Prometheus可以获取容器的性能指标,并通过...
**Memcache 全面剖析与教程** Memcache 是一个高性能的分布式内存对象缓存系统,广泛应用于Web应用中,用于减少数据库访问的负载。它通过将数据存储在内存中,提高了数据读取的速度,尤其适用于高并发场景。下面是...
这本书虽然没有对每一个知识点进行深度剖析,但覆盖了多个关键领域,为读者提供了全面的学习框架。 首先,亿级流量网络架构的基础是负载均衡。负载均衡器是系统入口的关键组件,用于分散用户请求到不同的服务器,...
《NoSQL精粹_中文操清晰-完整版.pdf》是一本深入探讨NoSQL数据库技术的专业书籍,旨在为读者提供全面而清晰的NoSQL知识体系。NoSQL,全称为"Not Only SQL",它是一种非关系型数据库模型,是近年来随着大数据、云计算...
例如,通过使用高效的服务器端语言、数据库查询优化、负载均衡技术、缓存策略(如Redis或Memcached)来处理高并发访问,以及采用SSD硬盘提升I/O性能等。这些措施有助于确保在流量激增时,网站依然能保持稳定运行。 ...