Memcached中文手册知识总览####一、Memcached简介与基本特征##### 1.1 Memcached定义- Memcached是一款高性能、分布式内存对象缓存系统,通过减轻数据库负担来提升动态Web应用速度,从而改善网站的访问性能。 ##### 1.2 Memcached的特性- 简单协议:Memcached采用简单的文本协议,易于客户端实现。 - 基于libevent的事件处理:采用事件驱动的网络I/O处理,提升并发能力。 - 内置内存存储:所有数据存储于内存中,实现快速访问。 - 分布式支持:各Memcached实例独立运行,通过一致性哈希等技术实现数据分布。 ##### 1.3安装与启动Memcached - 安装流程:通常包括编译源码或利用包管理工具安装。 - 启动步骤:通过命令行指定端口、内存大小等参数启动服务。 ##### 1.4连接与使用- 客户端接入:使用专用客户端库(如libmemcached)连接至Memcached服务器。 - 数据操作:包含存储、获取、删除等基本操作。 ####二、Memcached内存管理机制##### 2.1 Slab Allocation机制- 定义:用于高效管理固定大小内存块的机制。 - 关键术语: - Slab Class:按大小分类的内存块类别。 - Slab:包含相同大小内存块的集合。 - Chunk:最小的内存单元,每个Slab包含多个Chunk。 - 工作原理:根据数据大小自动选择适当的Slab Class,分配对应的Chunk存储数据。 ##### 2.2缓存记录原理- 根据数据大小分配到适当的Slab中。 - 数据过期或删除时,Chunk并未立即释放,而是标记为可重用。 ##### 2.3 Slab Allocator的缺点- 内存碎片:不同数据大小可能导致某些Slab利用率不高。 - 内存浪费:数据量较小时,可能导致大Slab Class中的Chunk未充分利用。 ##### 2.4 Growth Factor调优- 概念:调整S