一、memcached的安装
在这里,我使用的系统环境是CentOS6.5。本文是参考了的文章。
1.1安装libevent
libevent 是安装 memcached 的唯一前提条件。它是 memcached 所依赖的异步事件通知库。您可以在 monkey.org 上找到关于 libevent 的源文件。接下来,找到其最新版本的源文件。对于本文,我们使用稳定的 1.4.11 版本。获取了归档文件之后,我将它解压到一个位置,切换到libevent目录中。执行configure、make、make install等命令
[root@localhost local]# cd libevent-1.4.14b-stable[root@localhost local]# .configure[root@localhost local]# make[root@localhost local]# make install
1.2安装memcached
下载,我使用的是memcached-1.4.20.tar.gz。将压缩包解压,并将解压后的文件重名为memcached。
[root@localhost local]# tar -zxvf memcached-1.4.20.tar.gz[root@localhost local]# mv memcached-1.4.20 memcached
接下来是生成和安装memcached。切换到memcached中,执行如下命令
[root@localhost local]# ./configure[root@localhost local]# make[root@localhost local]# make install
完成这些工作只能算是完成了一个大概的工作,还没有验证memcached的服务是否可用。我的memcached目录在/usr/local下,安装完了之后在/usr/local/bin目录下会有memcached的文件。
1.3启动memcached服务
切换到/usr/local/bin目录下,执行以下命令。
[root@localhost bin]# ./memcached -d -m 128 -u root -p 11211 -c 256 -P /var/run/memcached.pid
验证memcached是否启动。
[root@localhost bin]# ps -aux|grep memcachedroot 36088 0.7 0.1 331048 1160 ? Ssl 23:20 0:00 ./memcached -d -m 128 -u root -p 11211 -c 256 -P /v ar/run/memcached.pidroot 36098 0.0 0.0 103244 840 pts/1 S+ 23:21 0:00 grep memcached
注意:在启动memcached的时候,可能会有找不到libevent-1.4.so.2的错误,找到加载的位置,在对应出建立一个软连接即可。
step1:找到libevent-1.4.so.2文件的路径
[root@localhost bin]# find / -name libevent-1.4.so.2
step2:查看日志,错误出在哪儿。
[root@localhost bin]# LD_DEBUG=libs /usr/local/bin/memcached -v
step3:给libevent-1.4.so.2出错的位置建立一个软件连接
[root@localhost bin]# ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2
二、连接memcached
telnet host po
[root@localhost bin]# telnet localhost 11211
看到如下信息表示已经连接上了。
Trying ::1...Connected to localhost.Escape character is '^]'.
三、memcached的基本操作
memcached命令格式如下
command
set
set命令用于向缓存中添加新的键值对。如果已经存在,则替换之前的值。
set userId 0 0 50001STORED
如果使用 set 命令正确设定了键值对,服务器将使用单词 STORED 进行响应。本示例向缓存中添加了一个键值对,其键为 userId,其值为 12345。并将过期时间设置为 0,这将向 memcached 通知您希望将此值存储在缓存中直到删除它为止。
add
仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。
set userId 0 0 512345STOREDadd userId 0 0 555555NOT_STOREDadd deptId 0 0 40002STORED
replace
仅当键已经存在时,replace 命令才会替换缓存中的键。如果缓存中不存在键,那么您将从 memcached 服务器接受到一条 NOT_STORED 响应。
replace acctId 0 0 567890NOT_STOREDset acctId 0 0 567890STOREDreplace acctId 0 0 555555STORED
get
用于检索与之前添加的键值对相关的值。
set userId 0 0 512345STOREDget userIdVALUE userId 0 512345ENDget bobEND
delete
delete 命令用于删除 memcached 中的任何现有值。
et userId 0 0 598765STOREDdelete bobNOT_FOUNDdelete userIdDELETEDget userIdEND