Java连接MemCached服务器

原文地址:http://blog.csdn.net/sonnet123/article/details/9136123

一、前提

在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

     Java连接MemCached服务器_第1张图片

      ②选择引用jar包文件:

       Java连接MemCached服务器_第2张图片

③添加后如图:

         Java连接MemCached服务器_第3张图片

3、编写java类代码

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

      Java连接MemCached服务器_第4张图片

Memcache.java类文件代码:

  1. package com.jjh.common.memcached;  
  2.   
  3. import com.danga.MemCached.MemCachedClient;  
  4. import com.danga.MemCached.SockIOPool;  
  5.   
  6. public class Memcache {  
  7.   
  8.     protected static Memcache mc = new Memcache();  
  9.       
  10.     protected MemCachedClient mcc = new MemCachedClient();  
  11.       
  12.     static{  
  13.         //服务器列表和其权重  
  14.         String[] servers = {"192.168.138.128:12000"};  
  15.         //String[] servers = {"192.168.71.195:12000"};  
  16.         Integer[] weights = {3};  
  17.           
  18.         //获取sock连接池的实例对象  
  19.         SockIOPool pool = SockIOPool.getInstance();  
  20.           
  21.         //设置服务器信息  
  22.         pool.setServers(servers);  
  23.         pool.setWeights(weights);  
  24.           
  25.         //设置初始连接数、最小最大连接数、最大处理时间  
  26.         pool.setInitConn(5);  
  27.         pool.setMinConn(5);  
  28.         pool.setMaxConn(250);  
  29.         pool.setMaxIdle(1000*60*60*6);  
  30.           
  31.         //设置主线程的睡眠时间  
  32.         pool.setMaintSleep(30);  
  33.           
  34.         pool.setNagle(false);  
  35.         pool.setSocketTO(30);  
  36.         pool.setSocketConnectTO(0);  
  37.           
  38.         //设置Tcp的参数,连接超时等  
  39.         pool.initialize();  
  40.           
  41.         //压缩设置,超过制定大小(单位K)的数据都会压缩  
  42.         //mcc.setCompressEnable(false);  
  43.         //mcc.setCompressThreshold(64*1024);  
  44.     }  
  45.       
  46.     //保护构造函数,不允许实例化  
  47.     protected Memcache(){}  
  48.       
  49.     public static Memcache getInstance(){  
  50.         return mc;  
  51.     }  
  52.       
  53.     public MemCachedClient getClient(){  
  54.         return mcc;  
  55.     }  
  56. }  

MemcacheManager.java类文件代码:

  1. package com.jjh.common.memcached;  
  2.   
  3. import java.util.Date;  
  4.   
  5. import com.danga.MemCached.MemCachedClient;  
  6.   
  7. public class MemcacheManager {  
  8.   
  9.     //获取Client方法  
  10.     public static MemCachedClient getClient(){  
  11.         return Memcache.getInstance().getClient();  
  12.     }  
  13.       
  14.     public static Object get(String key){  
  15.         return getClient().get(key);  
  16.     }  
  17.       
  18.     public static boolean set(String key, Object value){  
  19.         return getClient().set(key, value);  
  20.     }  
  21.       
  22.     public static boolean set(String key, Object value, long time){  
  23.          return getClient().set(key, value, new Date(time));  
  24.     }  
  25.       
  26.     public static boolean delete(String key){  
  27.         return getClient().delete(key);  
  28.     }  
  29. }  


4、进行测试

在src下添加MemCachedTest.java类文件

Java连接MemCached服务器_第5张图片

MemCachedTest.java代码如下

  1. package com.jjh.common.memcached;  
  2.   
  3. public class MemCachedTest {  
  4.   
  5.     public static void main(String[] args){  
  6.         String k = "test";  
  7.         String v = "testMemCached";  
  8.           
  9.         System.out.println("-------------------MemCached set begin--------------");  
  10.         MemcacheManager.set(k, v);  
  11.         System.out.println("setValue:" + v);  
  12.         System.out.println("-------------------MemCached set end--------------");  
  13.           
  14.         System.out.println("-------------------MemCached get begin--------------");  
  15.         String r = (String)MemcacheManager.get(k);  
  16.         System.out.println("getValue:" + r);  
  17.         System.out.println("-------------------MemCached get end--------------");  
  18.     }  
  19. }  
右键运行代码,结果输出如下:

Java连接MemCached服务器_第6张图片

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



你可能感兴趣的:(Java连接MemCached服务器)