您的位置:首页 > 数据库 > Memcache

Java连接MemCached服务器

2014-06-12 11:42 246 查看
一、前提

在Linux下安装MemCached,并启动服务。

详细请参见:Linux下安装MemCached http://blog.csdn.net/sonnet123/article/details/9133841

二、编写java代码连接MemCached

基于java_memcached-release_2.6.6.zip 中的jar包进行编写java代码连接。

下载链接:https://github.com/gwhalin/Memcached-Java-Client/downloads

1、新建java项目

名称:MemCached




2、添加引用jar包

①右键项目->Build Path->Add External Archives




②选择引用jar包文件:




③添加后如图:




3、编写java类代码

在src下添加Memcache.java 和 MemcacheManager.java类文件




Memcache.java类文件代码:

[java] view
plaincopy

package com.jjh.common.memcached;



import com.danga.MemCached.MemCachedClient;

import com.danga.MemCached.SockIOPool;



public class Memcache {



protected static Memcache mc = new Memcache();



protected MemCachedClient mcc = new MemCachedClient();



static{

//服务器列表和其权重

String[] servers = {"192.168.138.128:12000"};

//String[] servers = {"192.168.71.195:12000"};

Integer[] weights = {3};



//获取sock连接池的实例对象

SockIOPool pool = SockIOPool.getInstance();



//设置服务器信息

pool.setServers(servers);

pool.setWeights(weights);



//设置初始连接数、最小最大连接数、最大处理时间

pool.setInitConn(5);

pool.setMinConn(5);

pool.setMaxConn(250);

pool.setMaxIdle(1000*60*60*6);



//设置主线程的睡眠时间

pool.setMaintSleep(30);



pool.setNagle(false);

pool.setSocketTO(30);

pool.setSocketConnectTO(0);



//设置Tcp的参数,连接超时等

pool.initialize();



//压缩设置,超过制定大小(单位K)的数据都会压缩

//mcc.setCompressEnable(false);

//mcc.setCompressThreshold(64*1024);

}



//保护构造函数,不允许实例化

protected Memcache(){}



public static Memcache getInstance(){

return mc;

}



public MemCachedClient getClient(){

return mcc;

}

}

MemcacheManager.java类文件代码:

[java] view
plaincopy

package com.jjh.common.memcached;



import java.util.Date;



import com.danga.MemCached.MemCachedClient;



public class MemcacheManager {



//获取Client方法

public static MemCachedClient getClient(){

return Memcache.getInstance().getClient();

}



public static Object get(String key){

return getClient().get(key);

}



public static boolean set(String key, Object value){

return getClient().set(key, value);

}



public static boolean set(String key, Object value, long time){

return getClient().set(key, value, new Date(time));

}



public static boolean delete(String key){

return getClient().delete(key);

}

}

4、进行测试

在src下添加MemCachedTest.java类文件



MemCachedTest.java代码如下

[java] view
plaincopy

package com.jjh.common.memcached;



public class MemCachedTest {



public static void main(String[] args){

String k = "test";

String v = "testMemCached";



System.out.println("-------------------MemCached set begin--------------");

MemcacheManager.set(k, v);

System.out.println("setValue:" + v);

System.out.println("-------------------MemCached set end--------------");



System.out.println("-------------------MemCached get begin--------------");

String r = (String)MemcacheManager.get(k);

System.out.println("getValue:" + r);

System.out.println("-------------------MemCached get end--------------");

}

}

右键运行代码,结果输出如下:



从以上结果说明:连接成功。

原文地址:http://blog.csdn.net/sonnet123/article/details/9136123
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: