一、源码编译安装
1、首先需要安装编译器gcc
SUSE系统管理工具:zypper
Centos系统管理工具:yum
安装c以及c++编译器:zypper install gcc
zypperinstall gcc-c++
2、安装memcached
1) 解压 tar –xzf memcached-1.4.24.tar.gz
2) 编译安装 ./configure && make && makeinstall
3) 验证安装:在命令行输入:ls -al /usr/local/bin/memcached证是否安装成功。
问题:如果支撑包不全,必须首先安装或更新,例如:安装时提示:
checking for libevent directory... configure:error: libevent is required. You can getit from http
解决办法:
zypper install libevent
zypper update libevent
zypper install libevent-devel
zypper installmake
3、启动和停止memcached
4) 启动服务:在命令行输入/usr/local/bin/memcached -d -m 10 -u root -p 12000 -c 256启动Memcache的服务器(默认端口11211)
5) 查看服务是否启动:在命令行输入:ps -ef | grep 12000可以看到服务已经启动。
验证是否启动成功:netstat -ntlp|grep memcached
6) 结束服务:在命令行输入:kill `cat /tmp/memcached.pid`可以结束掉服务。
7) 创建时指定pid的存储位置,停止时直接停止.pid文件
启动memcached -d -m 10 -u root -p 12000 -c 256 -P/home/zcm/ memcached.pid
结束:kill -9 `cat /home/zcm/memcached.pid`
反引号的作用:执行命令,将其输出结果作为另外一个命令的参数。
二、操作指令
1、telnet连接
telnet 192.168.1.245 12345
2、状态命令
1)stats
2)stats items
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。
3、添加
<command name> <key><flags> <exptime> <bytes>
<data block>
Key:查找关键字
Flags:客户机使用它存储关于键值对的额外信息
Exptime:该数据的存活时间,0表示永远
Bytes:存储字节数
Data block:存储的数据块(可直接理解为key-value结构中的value)
1)set
set user 0 0 8
2)add(只有数据不存在时使用add)
3)replace(只有数据存在时使用replace)
4、读取
1)get
2)gets(gets命令比普通的get命令多返回了一个数字,这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。)
3)cas(cas即checked andset的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。)
4、删除
delete user
5、其他
1)flush_all
清空所有缓存
2)append
在现有的缓存数据后添加缓存数据,如现有缓存的key不存在服务器响应为NOT_STORED。
append username 0 0 8
3)prepend
和append非常类似,但它的作用是在现有的缓存数据前添加缓存数据。
pretend username 0 0 8