Memcache的简单笔记

一、原理和流程

   Memcache是高性能的分布式的内存缓存系统,一般作为数据库的前端cache使用,来减轻数据库的压力,提高系统对数据的响应速度;

其特征如下:

(1)协议简单,基于libevent的事件处理;

(2)内置的内存管理方式;使用LRU算法,当数据快占满指定的内存空间时,新数据会重用过期数据的内存空间;

(3)每个MEMCACHE服务器相对独立,互不通信;

在系统应用中,其操作流程如下:

(1)当客户端查询数据时,先查看memcache是否存在,如果存在,直接把请求的数据返回给客户端,不再进行下一步的操作;

(2)如果请求的数据不在memcahe中,客户端就去查询数据库,然后把查询到数据返回给客户端,同时将数据存放一份副本到mencache中;

(3)每次更新数据库的同时更新memcache中的数据,保证memcahe中的数据尽量最新;

(4)指定的内存使用完毕后,会使用LRU(Least Recently Used)策略,新数据替换失效的数据,然后是最近未被使用的数据;


二、安装、启动和关闭

(1)安装libevent;

wget https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz

tar -axvf libevent-2.0.22-stable.tar.gz

cd libevent-2.0.22-stable

./configure && make && make install

(2)安装memcache

wget http://memcached.org/files/memcached-1.4.22.tar.gz

tar -axvf memcached-1.4.22.tar.gz

cd memcached-1.4.22

./configure && make && make install

(3)启动memcache

/usr/local/bin/memcached -u root -m 128 -P /var/run/memcached.pid -d

*关于memcached参数可以通过“/usr/local/bin/memcached -h”来查看

(4)关闭memcache

kill `/var/run/memcached.pid`


三、简单操作

(1)进入memcache

telnet 127.0.0.1 11211 #telnet进入memcache界面

set test  0 0 10    #存入test

this             #输入test的值

STORED            #返回存入成功

get test           #查询test的值

VALUE test 0 10

this             #返回test的值

END

*类似的命令还有add、replace

(2)查询memcache的各种统计状态

stats     #查询memcache的各种统计状态

stats reset #重置各种状态统计结果

stats items #显示slabs中items的数目

stats slabs #显示slabs信息


四、memcache的监控

利用memcache.php进行监控,下载memcache.php

wget http://pecl.php.net/get/memcache-2.2.7.tgz

将其解压缩到nginx或者apache的根目录

修改memcache.php文件中下面的行,可添加多台memcache监控;

$MEMCACHE_SERVERS[] = ‘mymemcache-server:11211‘; 




本文出自 “缘随心愿” 博客,请务必保留此出处http://281816327.blog.51cto.com/907015/1621298

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。