经验不在于年限,在于积累---专注互联网软件开发

把工作当事业做,把项目当作品做!

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  55 Posts :: 0 Stories :: 66 Comments :: 0 Trackbacks


Linux
Memcached安装步骤详解

(友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen
1.         首先下载memcached libevent 包。 Memcached用到了libevent这个库用于Socket的处理。下面是下载的两个包文件:

libevent-1.4.12-stable.tar.gz

memcached-1.4.3.tar.gz

2.         上传这两个包到/tmp/chenxinhan/memcached目录(自建目录)下。

3.         解压并安装:

tar -zxf libevent-1.4.12-stable.tar.gz

tar -zxf memcached-1.4.3.tar.gz

cd libevent-1.4.12-stable

./configure --prefix=/usr

make

make install

cd ../ memcached-1.4.3

./configure --with-libevent=/usr

make

makeinstall

4.         启动Memcached

完成上述操作后,memcached被安装/usr/local/bin/目录下。启动Memcache的服务器的命令:

/usr/local/bin/memcached -d -m 1024 -u root -l 192.168.13.236 -p 12001 -c 256 -P  /tmp/chenxinhan/memcached.pid

参数说明:

-d 选项是启动一个守护进程,
-m
是分配给Memcache使用的内存数量,单位是MB,这里是1GB
-u
是运行Memcache的用户,这里是root
-l
是监听的服务器IP地址,如果有多个地址的话,以逗号隔开。这里指定了服务器的IP地址192.168.13.236
-p
是设置Memcache监听的端口,我这里设置了12001,最好是1024以上的端口,
-c
选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P
是设置保存Memcachepid文件,我这里是保存在 /tmp/chenxinhan/memcached.pid

5.         结束Memcache进程,执行:

kill  `cat /tmp/chenxinhan/memcached.pid`

或者:

ps -aux | grep memcache

然后直接killmemcache进程。

6.         可以启动多个守护进程,但是端口不能一样。这样就可以在一台机器上拥有多个Memcached

7.         代码测试:

 1package memcached;
 2
 3import com.danga.MemCached.MemCachedClient;
 4import com.danga.MemCached.SockIOPool;
 5
 6/**
 7 *  Copyright (C): 2009
 8 *  @author 陈新汉
 9 *  Nov 17, 2009 3:35:40 PM
10 */

11
12/**
13 * 使用memcached client for java 客户端
14 */

15public class JavaMemcachedClientTest {
16
17    /**
18     * @param args
19     */

20    public static void main(String[] args) {
21        /*初始化SockIOPool,管理memcached的连接池*/
22        String[] servers = "192.168.13.236:12001" };
23        SockIOPool pool = SockIOPool.getInstance();
24        pool.setServers(servers);
25        pool.setFailover(true);
26        pool.setInitConn(10);
27        pool.setMinConn(5);
28        pool.setMaxConn(50);
29        pool.setMaintSleep(30);
30        pool.setNagle(false);
31        pool.setSocketTO(3000);
32        pool.setAliveCheck(true);
33        pool.initialize();
34        /*建立MemcachedClient实例*/
35        MemCachedClient memCachedClient = new MemCachedClient();
36        for (int i = 0; i < 10; i++{
37            /*将对象加入到memcached缓存*/
38            boolean success = memCachedClient.set("" + i, "ChenXinHan("+i+")");
39            /*从memcached缓存中按key值取对象*/
40            String result = (String) memCachedClient.get("" + i);
41            System.out.println(String.format("set( %d ): %s", i, success));
42            System.out.println(String.format("get( %d ): %s", i, result));
43        }

44    }

45
46}

47

输出结果:

 1set( 0 ): true
 2get( 0 ): ChenXinHan(0)
 3set( 1 ): true
 4get( 1 ): ChenXinHan(1)
 5set( 2 ): true
 6get( 2 ): ChenXinHan(2)
 7set( 3 ): true
 8get( 3 ): ChenXinHan(3)
 9set( 4 ): true
10get( 4 ): ChenXinHan(4)
11set( 5 ): true
12get( 5 ): ChenXinHan(5)
13set( 6 ): true
14get( 6 ): ChenXinHan(6)
15set( 7 ): true
16get( 7 ): ChenXinHan(7)
17set( 8 ): true
18get( 8 ): ChenXinHan(8)
19set( 9 ): true
20get( 9 ): ChenXinHan(9)
(友情提示:本博文章欢迎转载,但请注明出处:陈新汉,http://www.blogjava.net/hankchen


posted on 2010-01-04 13:32 hankchen 阅读(2512) 评论(1)  编辑  收藏 所属分类: 缓存+Memcached+Redis

Feedback

# re: linux下Memcached安装步骤详解 2010-01-06 14:07 99读书人
了考试的开发看电视  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: