读书人

linux停安装memcache

发布时间: 2012-07-16 15:44:59 作者: rapoo

linux下安装memcache

1.下载

http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz

http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

?

2.安装

安装libevent

tar xvf libevent-2.0.12-stable.tar.gz

cd libevent-2.0.12-stable

./configure -prefix=/usr

make

make install

查看安装是否成功

ls -all /usr/lib | grep libevent

?

?

安装memcached

tar xvf memcached-1.4.5.tar.gz

cd memcached-1.4.5

./configure -with-libevent=/usr

make

make install

查看安装是否成功

ls -all/usr/local/bin/mem*

?

3.开防火墙,假设使用端口11211

?

vi /etc/sysconfig/iptables

添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT

保存退出

重启服务使刚才的设置生效

service iptables restart

?

?

搞定

?

启动memcached

/usr/local/bin/memcached -d -m 128 -u root -l 192.168.49.130 -p 11211 -c 1024?-P /tmp/memcached.pid

参数说明

?

-d启动一个守护进程

-m分配给Memcache使用的内存数量(MB)

-u运行Memcache的用户

-l是监听的服务器IP地址

-pMemcache监听的端口

-c最大运行的并发连接数,默认是1024

-P设置保存Memcache的pid文件

?

?

关闭memcached

1.查询memcached的pid

cat /tmp/memcached.pid

显示22376

如果没指定-P参数,则先ps -A查看进程,找出memcached的pid,例如我这里显示的是

?

22182 ? ? ? ? ?00:00:00 memcached

?

2.kill pid

例如kill?22182

?

将memcached加入启动项

vi /etc/rc.d/rc.local

在最后加入启动命令

/usr/local/bin/memcached -d -m 128 -u root -l 192.168.49.130 -p 11211 -c 1024?-P /tmp/memcached.pid

保存退出

?

添加到服务

vim /etc/rc.d/rc.local

添加

/usr/local/bin/memcached -d -m 128 -u root -l 192.168.49.130 -p 11211 -c 1024?-P /tmp/memcached.pid

?

?

测试

?

package com.gary.test;import com.danga.MemCached.MemCachedClient;import com.danga.MemCached.SockIOPool;public class TestMemcached {String[] servers = { "192.168.49.130:11211" };Integer[] weights = { 3 };MemCachedClient mcc = new MemCachedClient();SockIOPool pool = SockIOPool.getInstance();public TestMemcached() {init();}private void init(){pool.setServers(servers);pool.setWeights(weights);pool.setInitConn(5);pool.setMinConn(5);pool.setMaxConn(250);pool.setMaxIdle(30);pool.setMaintSleep(30);pool.initialize();}public void testPut() {for (int i = 1; i <= 3; i++) {// 如果以前存在,则不去更新boolean b = mcc.add("key" + i, "value" + i); System.out.println("key" + i +" - result: " + b);}}public void testReplace() {// 如果key不存在,则返回flase,更新失败boolean b = mcc.replace("key2", "newValue");System.out.println("update " + b);}public void testGet() {Object obj = mcc.get("key2");System.out.println(obj);}public void testDelete() {Object key3 = mcc.get("key3");System.out.println("key3:" + key3);mcc.delete("key3");System.out.println("after delete");Object key3now = mcc.get("key3");System.out.println("key3 now:" + key3now);}public static void main(String args[]) {TestMemcached tm = new TestMemcached();tm.testPut();tm.testReplace();tm.testGet();tm.testDelete();//最后关闭池tm.pool.shutDown();}}

?

?测试结果

?

key1 - result: truekey2 - result: truekey3 - result: trueupdate truenewValuekey3:value3after deletekey3 now:null
?

?

读书人网 >UNIXLINUX

热点推荐