Memcached入门

一、Memcached概念

  1. Memcached是一款高性能、分布式的内存对象缓存系统
  2. Memcached可以有效分担数据库负载
  3. Memcached基于libevent事件处理实现无阻塞通信(高性能原因之一)

二、Memcached安装

  1. 安装libevent(libevent.org 下载)
    ** 解压缩并进入压缩后的文件
    ** ./configure --prefix=/usr/local/libevent (指定安装目录)
    ** make & make install
  2. 安装Memcached(memcached.org 下载)
    ** 解压缩并进入压缩后的文件
    ** ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
    ** make & make install

三、Memcached启动

Memcached入门
启动:进入Memcached的bin目录输入
./memcached -d -u root -l 192.168.1.27 -p 6666 -c 128 -m 100 -P myPid

四、Memcached操作命令

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去存储
Memcached入门
底层存储架构:
Memcached入门
寻找存储的Chunk的具体流程:
Memcached入门

六、Java使用Memcached

  1. 快速入门:https://github.com/killme2008/xmemcached/wiki/快速入门
  2. 用户指南:https://github.com/killme2008/xmemcached/wiki/Xmemcached 中文用户指南

七、Memcached客户端

  1. 注意事项
    ** Memcached是C语言编写的
    ** Memcached提供了诸多主流语言的客户端
  2. Java客户端
    ** java_memcached【官方】–>传统IO
    ** spymemcached
    ** xmemcache