1.memcache简介:
memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著 。这是一套开放源代码软件,以BSD license授权发布。【摘取自百度百科】
2.memcached安装需要libevent包的支持
wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz
tar xvzf libevent-1.4.14b-stable.tar.gz
ln -s /usr/local/libevent-1.4.14b-stable /usr/local/libevent
cd /usr/local/libevent
./configure
make
make install
3.安装memcached
wget http://www.memcached.org/files/memcached-1.4.20.tar.gz
tar xvzf memcached-1.4.20.tar.gz
ln -s /usr/local/memcached-1.4.20 /usr/local/memcached
./configure --with-libevent=/usr/local/libevent/
make
make install
4.启动memcached
如果没有出错,安装成功,启动memcached服务,一般情况下,简单的可以使用类似如下形式启动memcached服务:
/usr/local/bin/memcached -d -m 64 -I 20m -u root -l 192.168.1.6 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid
5.memcache启动参数详解
-d 指定memcached作为一个守护进程来运行
-m 分配给memcache的使用内存
-I 重写每个数据页尺寸,调整数据项最大尺寸
-u 运行memcache的用户
-l 监听ip地址,多个用逗号隔开
-p memcache监听的端口,保证该端口没有被占用
-c 设置最大运行的并发连接数
-P 指定pid文件
-t 指定使用的线程数
-s 指定memcache用于监听的socket文件
-a 设置socket套接字的访问权限
-v输出警告和错误信息
6.停止memcache
可以通过Linux的如下命令查询到Memcached的进程号:
ps -ef | grep memcached
然后杀掉Memcached服务进程:
kill -9 <PID>
7.telnet客户端
Telnet客户端可以通过命令行的方式来监控查看Memcached服务器存储数据的情况。例如,Memcached的服务地址为192.168.4.86:11211,可以telnet到该服务端口:
telnet 192.168.2.66 11211
8.如果连接成功,可以使用如下一些命令:
status命令:
STAT pid20487 //memcache进程pid
STAT uptime 166666 //memcache启动到现在,服务运行的的秒数
STAT version 1.4.20 //memcache版本号
STAT libevent1.4.14 // libevent 版本
STAT curr_connections 60 //服务起当前的items数量,及打开的连接数
STAT total_connections 6600 //memcache启动之后打开的连接总数
STAT rusage_user 160 //进程累计用户时间
STAT rusage_system 160.666 #//进程累计系统时间
STAT connection_structures 12 #//服务器分配的连接结构数
STAT cmd_get 16000 //memcache启动以来,get命令的总请求数
STAT cmd_set 26000 //memcache启动以来,执行set命令总数
STAT cmd_touch 12 // memcache启动以来,执行touch_all命令请求总数
STAT cmd_flush 12 //memcache启动以来,flush命令请求次数
STAT get_hits 960060 // memcache启动以来,get的命中次数
STAT get_misses 174 //get未命中次数
STAT delete_misses 6 //delete未命中次数
STAT delete_hits 6 //delete命中次数
STAT decr_misses 6 //decr未命中次数
STAT decr_hits 6 //decr命中次数
STAT cas_misses 6 // memcache启动以来,cas未命中次数
STAT cas_hits 6 //memcache启动以来,cas命中次数
STAT touch_hits 6 //memcache启动以来,touch命中次数
STAT touch_misses 6 // memcache启动以来,touch未命中次数
STAT bytes_read 666666666 // 总的读取字节数
STAT bytes_written 1666666666 // memcached服务器发送字节数
STAT limit_maxbytes 1166666 // memcached服务缓存允许使用的最大字节数(分配的内存数)
STAT accepting_conns 16 //目前接受的链接数
STAT threads20 //被请求的工作线程的总数量
STAT conn_yields 22 //连接操作主动放弃数目
STAT bytes30 //存储item字节数(当前存储占用的字节数)
STAT curr_items 566 // item个数(当前存储的数据总数)
STAT total_items 166666 // item总数(启动以来存储的数据总数)
9.memcache命令:
命令语法:
9.1 存储命令的格式:
<command name> <key> <flags> <exptime> <bytes>
<data block>
9.2 解释:
<command name>: set/add/replace
<key>: 存储的键名
<flag>: 客户机使用它存储关于键值对的额外信息 数字类型
<exptime>: 该数据的存活时间,0表示永远
<bytes>:存储的value的值得字节数,比如 value='super',则bytes=6
<data block>: key-value的value