在这里,我使用的系统环境是CentOS6.5。本文是参考了博客园-曹振华的文章。
html
libevent 是安装 memcached 的惟一前提条件。它是 memcached 所依赖的异步事件通知库。您能够在 monkey.org 上找到关于 libevent 的源文件。接下来,找到其最新版本的源文件。对于本文,咱们使用稳定的 1.4.11 版本。获取了归档文件以后,我将它解压到一个位置,切换到libevent目录中。执行configure、make、make install等命令shell
[root@localhost local]# cd libevent-1.4.14b-stable [root@localhost local]# .configure [root@localhost local]# make [root@localhost local]# make install
下载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的文件。异步
切换到/usr/local/bin目录下,执行如下命令。
memcached
[root@localhost bin]# ./memcached -d -m 128 -u root -p 11211 -c 256 -P /var/run/memcached.pid
验证memcached是否启动。spa
[root@localhost bin]# ps -aux|grep memcached root 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.pid root 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文件的路径code
[root@localhost bin]# find / -name libevent-1.4.so.2
step2:查看日志,错误出在哪儿。htm
[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
telnet host po
[root@localhost bin]# telnet localhost 11211
看到以下信息表示已经链接上了。
Trying ::1... Connected to localhost. Escape character is '^]'.
memcached命令格式以下
command <key> <flags> <expiration time> <bytes> <value>
set命令用于向缓存中添加新的键值对。若是已经存在,则替换以前的值。
set userId 0 0 5 0001 STORED
若是使用 set 命令正确设定了键值对,服务器将使用单词 STORED 进行响应。本示例向缓存中添加了一个键值对,其键为 userId,其值为 12345。并将过时时间设置为 0,这将向 memcached 通知您但愿将此值存储在缓存中直到删除它为止。
仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。若是缓存中已经存在键,则以前的值将仍然保持相同,而且您将得到响应 NOT_STORED。
set userId 0 0 5 12345 STORED add userId 0 0 5 55555 NOT_STORED add deptId 0 0 4 0002 STORED
仅当键已经存在时,replace 命令才会替换缓存中的键。若是缓存中不存在键,那么您将从 memcached 服务器接受到一条 NOT_STORED 响应。
replace acctId 0 0 5 67890 NOT_STORED set acctId 0 0 5 67890 STORED replace acctId 0 0 5 55555 STORED
用于检索与以前添加的键值对相关的值。
set userId 0 0 5 12345 STORED get userId VALUE userId 0 5 12345 END get bob END
delete 命令用于删除 memcached 中的任何现有值。
et userId 0 0 5 98765 STORED delete bob NOT_FOUND delete userId DELETED get userId END