Memcached入门
一、Memcached概念
- Memcached是一款高性能、分布式的内存对象缓存系统
- Memcached可以有效分担数据库负载
- Memcached基于libevent事件处理实现无阻塞通信(高性能原因之一)
二、Memcached安装
- 安装libevent(libevent.org 下载)
** 解压缩并进入压缩后的文件
** ./configure --prefix=/usr/local/libevent (指定安装目录)
** make & make install - 安装Memcached(memcached.org 下载)
** 解压缩并进入压缩后的文件
** ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
** make & make install
三、Memcached启动
启动:进入Memcached的bin目录输入
./memcached -d -u root -l 192.168.1.27 -p 6666 -c 128 -m 100 -P myPid
四、Memcached操作命令
1. Memcached连接
安装telnet命令:yum -y install telnet
连接:telnet ip地址 端口号
2. 命令详解见:http://www.runoob.com/memcached/memcached-tutorial.html
五、Memcached存储机制(Slab Allocator)
Memcached分成一个一个的Slab,每一个Slab里又有无数个Page,而Page内部又分为Chunk,Chunk才是真实存储数据的东西。不同Slab之间的Chunk大小是不固定的,它的增长是通过自增长因子计算的,而最终选择存储数据的Chunk时是通过Slab Class去查找最接近的Chunk值匹配的Slab去存储
底层存储架构:
寻找存储的Chunk的具体流程:
六、Java使用Memcached
- 快速入门:https://github.com/killme2008/xmemcached/wiki/快速入门
- 用户指南:https://github.com/killme2008/xmemcached/wiki/Xmemcached 中文用户指南
七、Memcached客户端
- 注意事项
** Memcached是C语言编写的
** Memcached提供了诸多主流语言的客户端 - Java客户端
** java_memcached【官方】–>传统IO
** spymemcached
** xmemcache