Linux下编译安装Memcache

需要gcc,make,cmake,autoconf,libtool等工具,联网后,yum install -y gcc,make,cmake,autoconf,libtool

编译安装libevent

先编译libevent 在编译memcache时,要指定libevet 的路径,libevent官网http://libevent.org/

wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
tar -zxvf libevent.tar.gz
cd libevent
./configure --prefix=/usr/local/libevent
make && make install

如果报错,看错报错信息,一般是缺少库

安装memcache

wget http://www.memcached.org/files/memcached-1.5.8.tar.gz
tar -zxvf memcached
 ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make && make install

运行memcache

/usr/local/memecached/bin/memcached -uroot &
./memcached -uroot -d

设置防火墙

常用操作指令

设置值

set key 压缩标识 有效期 长度
set name 0 60 5
hello

压缩标识:用于告诉memcached服务器是否压所后存储数据,目的是为了节省磁盘空间,压所和解压缩会消耗时间
有效期:用于key在什么时间失效,设置方式有两种,时间间隔和时间戳,区分时间间隔和时间戳的方法:
临界值:308243600=2592000(30天)
长度:值的大小(字节为单位)
键:由字母数字下划线标识符组成,长度不要大于250字节,在实际开发中,建议使用前缀
值:需要缓存的数据内容,字符串,在实际开发中,配合序列化和反序列化使用,单个值不能超过1M

add age 0 0 2 仅添加,如果key已经存在,则添加失败
replace 仅替换,如果key不不存在的,则替换失败
delete key 删除指定的key缓存
fash all 清空所有缓存

状态:stats 获取当前memcached服务器的状态

hits:命中率:

关注它的原因就是要查看缓存内容是否有效,有否被获取到。如果命中率太低了,就证明缓存的数据有问题。需要把缓存数据整理好。重新存放。缓存命中率有70%就可以了。
提升命中率,应该讲常用的获取频繁的数据放在存储缓存中,实际开发中,缓存需要预热处理。

stats items 命令用于显示各个slab中item的数目和存储时长(最后一次访问距离现在的秒数)
stats cachedump slabs_id limit_num
slabs_id: 由stats items返回的结果(STAT items后面的数字)决定的
limit_num:返回的纪录数,0表示返回所有记录

内存的限制:32位下最大的设置为2Gs

如果有30G的数据要缓存,一般也不会单实例装30G,一般建议 开启多个实例(可以在不同的机器或者同台机器上的不同端口)

写入自启动

vim /etc/rc.local
/usr/local/memcache/bin/memcached -uroot &

杀掉后台进程

pkill memcached

原文地址:https://www.cnblogs.com/qinsilandiao/p/10759090.html