Linux下的Memcached安装与JAVA客户端连接Memcached

Linux下Memcache服务器端的安装

memcached现在版本为1.4.13,可以去http://memcached.org/下载最新版本.

因为memcached底层通信是有libevent实现的,所以还需要去下载它.下载地址为http://libevent.org/.

也可以通过wget直接下载

1.分别把memcached和libevent下载回来,放到 /tmp 目录下:
# cd /tmp
# wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz
# wget https://github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz
2.先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure --prefix=/usr
# make
# make install

3.测试libevent是否安装成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r--r-- 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
还不错,都安装上了。

4.安装memcached,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure --with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,

5.测试是否成功安装memcached:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug
memcached的基本设置
1.启动Memcache的服务器端:

# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

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

2.如果要结束Memcache进程,执行:

# kill 'cat /tmp/memcached.pid'

利用java调用memcache

memcache java client 下载地址:https://github.com/gwhalin/Memcached-Java-Client/downloads

测试代码如下:

package memcached;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

/**
* <p>Title: MemCacheInvoke</p>
* <p> Created: 2012-7-9 下午4:12:46 </p>
* <p> yansheng723@gmail.com</p>
* @author ShengYan
* @version
*/
public class MemCacheInvoke {
// 创建一个 memcached 客户端对象
protected static MemCachedClient mcc = new MemCachedClient();

// 创建 memcached连接池
static{
// 指定memcached服务地址
String[] servers = { "192.168.58.132:12000" };

// 指定memcached服务器负载量
Integer[] weights = { 3, 3, 2 };

// 从连接池获取一个连接实例
SockIOPool pool = SockIOPool.getInstance();

// 设置服务器和服务器负载量
pool.setServers(servers);
pool.setWeights(weights);

// 设置一些基本的参数
// 设置初始连接数5 最小连接数 5 最大连接数 250
// 设置一个连接最大空闲时间6小时
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60 * 6);

// 设置主线程睡眠时间
// 每隔30秒醒来 然后
// 开始维护 连接数大小
pool.setMaintSleep(30);

// 设置tcp 相关的树形
// 关闭nagle算法
// 设置 读取 超时3秒钟 set the read timeout to 3 secs
// 不设置连接超时
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);

// 开始初始化 连接池
pool.initialize();

// 设置压缩模式
// 如果超过64k压缩数据
// mcc.setCompressEnable(true);
// mcc.setCompressThreshold(64 * 1024);
}

public static void main(String args[]) {
User u1 = new User();
u1.setUserName("frady");
u1.setEmail("weimengiq@126.com");
mcc.add("fradyt", u1);

User u2 = (User) mcc.get("fradyt");
System.out.println("email=" + u2.getEmail());
u2.setEmail("weimengiq@gmail.com");
mcc.replace("fradyt", u2);

u2 = (User) mcc.get("fradyt");
System.out.println("email=" + u2.getEmail());
}
}


参考地址:http://www.ccvita.com/257.html



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值