第一步,进入libevent安装包所在目录,执行如下指令解压缩,我们假设要解压到/usr/local/目录下:
tar –xzvf libevent-2.0.8-rc.tar.gz -C /usr/local |
在/usr/local/目录下会出现目录libevent-2.0.8-rc
第二步,安装libevent,执行如下指令:
./configure make make install |
第三步,测试libevent是否安装成功,执行如下指令:
ls -al /usr/local/lib |grep libevent |
如果列出了libevent的so文件,则说明安装成功。
第一步,解压缩到/usr/local目录:
tar -xzvf memcached-1.4.5.tar.gz -C /usr/local |
解压缩后,会在/usr/local/目录下生成一个目录memcached-1.4.5
第二步,安装MemCached,执行如下指令:
./configure -with-libevent=/usr/local make make install |
/*
第三步,建立libevent的链接,先执行如下指令:
LD_DEBUG=libs /usr/local/servers/memcached/bin/memcached -v |
会出现类似如下的内容:
trying file=/usr/lib/ libevent-2.0.so.2 trying file=/lib64/ libevent-2.0.so.2 …………… |
*/
我们在MemCached查找的路径之一添加libevent的链接,比如/lib64目录,执行如下命令:
ln -s /usr/local/lib/libevent-2.0.so.2 /lib64/libevent-2.0.so.2 |
第一步,修改防火墙规则,将MemCached需要使用的端口添加到防火墙规则中,假设我们要使用端口13000。进入目录/etc/sysconfig/,编辑文件iptables,在这句:
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited |
之前加入:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 13000 -j ACCEPT |
含义是允许端口13000通过防火墙。
执行如下指令,使防火墙规则生效:
service iptables restart |
第二步,启动MemCached,执行如下指令:
/usr/local/bin/memcached -d -m 100 -u root -l 192.168.7.25 -p 13000 -c 128 |
参数说明:
-d 启动一个守护进程。
-m 内存使用,单位是M,这里我设置了100M。
-u 以什么用户身份启动,这里我用了root用户。
-l 服务器IP,这里我设置了192.168.7.25。
-p 监听端口,这里我设置为13000。
-c 使用的线程数,这里我设置为128。
第三步,验证服务是否启动。假设服务器地址为192.168.7.25,则远程使用终端执行:
telnet 192.168.7.25 13000 |
如果能连接上,说明服务已启动。
然后再通过客户端测试代码来进一步测试。
telnet后输入stats
另:$ /usr/local/bin/memcached -p [端口] -m -16m -d
默认64m
Memcached 不允许 root 身份启动
查看memcached的进程ID:
ps -ef|grep memcached |
显示结果第二列的数字是ID,找到memcached的ID,假设为13,则执行如下指令:
kill 13 |
这样就停止了memcached服务。
add 仅当存储空间中不存在键相同的数据时才保存
replace 仅当存储空间中存在键相同的数据时才保存
set 与add和replace不同,无论何时都保存
add( '键', '值', '期限' );
delete('键', '阻塞时间(秒)');
删除第一个参数指定的键的数据。第二个参数指定一个时间值,可以禁止使用同样的键保存新数据。
此功能可以用于防止缓存数据的不完整。但是要注意,set 函数忽视该阻塞,照常保存数据。