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
页:
[1]