Linux下memcache编译安装与基本使用
memcache是一套分布式的高速缓存系统,特点为key-value 存储
一、在 linux 编译安装memcache、redis等,需要 gcc,make,cmake,autoconf,libtool 等工具, 直接使用yum安装即可:
yum install gcc make cmake autoconf libtool
二、下载官方源码:
memcached依赖于libevent库,因此需要先安装 libevent,下载地址:http://libevent.org/
memcache官网下载地址:http://memcached.org/
cd /usr/local/src
wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
wget http://www.memcached.org/files/memcached-1.5.10.tar.gz
三、安装libevent依赖和memcache:
tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure --prefix=/usr/local/libevent
make && make install
cd ..
tar zxvf memcached-1.4.5.tag.gz
cd memcached-1.4.5
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make && make install
注意在configure过程中如果报错,一般是缺少库,安装完成后就会在/usr/local目录下看到memcached目录,启动memcache:
cd /usr/local/memcached bin/memcached -m 64 -p 11211 -u root -vv # -m 64:分配给memcached的最大内存,默认为64mb -p 11211:监听的端口号 -u root:运行memcache的用户
启动成功后你会看到下图所示:
注意如果想要让memcache作为一个服务后台运行需要加上 -d:
bin/memcached -m 64 -p 11211 -u root -d
四、在windows下链接服务器memcache:
在windows系统的dos窗口链接服务器的memcache需要使用telnet功能,这个功能是windows自带的,但是需要手动开启一下,控制面板-程序-打开或关闭windows功能:
将telnet客户端勾选确认即可,在dos窗口输入命令:
telnet 192.168.1.1 11211 #ip换成你的服务器ip 11211为memcache的监听端口号
连上之后会看到一个全黑的窗口,有光标闪动,这时候使用快捷键:Ctrl + ] 再回车,之后就可以使用memcache的增删改查命令了
五:memcache增删改查,统一操作输完增删改查命令后回车再输入值再回车执行完毕:
add key flag expire length #新增 key:为指定的键 flag:为标识 expire:为有效时间 length:为长度
新增键为name的记录,标识为0,有效时间不自动失效(设为特定值如10表示十秒失效,设为0永久有效并不确切,而是不会自动失效,如果你重启了服务器那肯定就失效了),长度为5个字节
get key #查询 key:为指定的键
返回了上面新增的name记录
delete key [time seconds] #删除指定的key,如加可选参数time,则指在删除key后的time秒内,不允许get,add,replace操作此key
删除之后再查询没有这条记录
replace key flag expire length #替换 与add一样,仅对于已经存在的键,可以用replace进行替换
添加qwe=>12345,replace替换为54321,再get获取
set key flag expire length #设置或修改 参数和replace一样,但功能不一样,set时如果键不存在则新增,如果已存在测修改
获取url键并不存在,set url=>lnamp再次get,查询到记录,此处set起新增作用
incr #增加指定值
age为25,incr 5 值变为30
decr #减少指定值
上面age为30,减8返回22
stats #统计当前运行的memcache信息
flush_all #清空所有的存储对象