Memcache入门例子

Memcache服务器启动之后,可以采用Python,java,c,c#等多种语言对其进行读写,每种语言都在其各自的基础上创建有memcache客户端读写API。本文章主要介绍两种用java读写memcache的方法:


方法一:用MemCache读写memcache的JAVA 实例:

[java] view plain copy
  1. package mytest;  
  2.   
  3. import com.danga.MemCached.MemCachedClient;  
  4. import com.danga.MemCached.SockIOPool;  
  5.   
  6.   
  7. public class MemcacheStore {  
  8.     protected MemCachedClient mcc;  
  9.       
  10.     static{  
  11.         String[] servers = {"your ip address"};  
  12.         Integer[] weights = {1};  
  13.         SockIOPool pool = SockIOPool.getInstance();  
  14.       
  15.         pool.setServers(servers);  
  16.         pool.setWeights(weights);  
  17.           
  18.         pool.setNagle(false);  
  19.         pool.setSocketTO(3000);  
  20.         pool.setSocketConnectTO(0);  
  21.           
  22.         pool.initialize();  
  23.     }  
  24.     public MemcacheStore(){  
  25.         mcc = new MemCachedClient();  
  26.     }  
  27.       
  28.     public boolean storeChannel(String channelId){  
  29.         mcc.set(channelId, "exist");  
  30.         return true;  
  31.     }  
  32.       
  33.     public boolean removeChannel(String channelId){  
  34.         mcc.set(channelId, "no exist");  
  35.         return true;  
  36.     }  
  37.       
  38.     public static void main(String[] arg){  
  39.         MemcacheStore mem = new MemcacheStore();  
  40.         mem.storeChannel("1");  
  41.     }  
  42. }  

其中,我们可以设置多个memcache服务器组成的cluster结构,并且有效地设置各个服务器上的权重:
[java] view plain copy
  1. String[] servers =  
  2.         {  
  3.                 "10.15.0.215:46697",  
  4.                 "10.15.0.214:46697",  
  5.   
  6.         };  
  7.   
  8. nbsp;     // 设置服务器权重  
  9. Integer[] weights = {32};  

get和set函数可以用于读写memcache。


方法二:用xmemcached读写memcache:

[java] view plain copy
  1. import java.io.IOException;  
  2. import java.util.concurrent.TimeoutException;  
  3.   
  4. import net.rubyeye.xmemcached.MemcachedClient;  
  5. import net.rubyeye.xmemcached.MemcachedClientBuilder;  
  6. import net.rubyeye.xmemcached.XMemcachedClientBuilder;  
  7. import net.rubyeye.xmemcached.exception.MemcachedException;  
  8. import net.rubyeye.xmemcached.utils.AddrUtil;  
  9.   
  10. public class Xmemcached {  
  11.     public static void main(String[] args){  
  12.         try {  
  13.         MemcachedClientBuilder builder = new XMemcachedClientBuilder(AddrUtil.getAddresses("your ip and port"));  
  14.         MemcachedClient memcachedClient = builder.build();  
  15.             memcachedClient.set( "hello" , 0"Hello,xmemcached" );  
  16.             String value = memcachedClient.get( "hello" );  
  17.             System.out.println( "hello=" + value);  
  18.             //memcachedClient.delete( "hello" );  
  19.             value = memcachedClient.get( "hello" );  
  20.         } catch (MemcachedException e) {  
  21.             System.err.println( "MemcachedClient operation fail" );  
  22.             e.printStackTrace();  
  23.         } catch (TimeoutException e) {  
  24.             System.err.println( "MemcachedClient operation timeout" );  
  25.             e.printStackTrace();  
  26.         } catch (InterruptedException e) {  
  27.             // ignore  
  28.         } catch (IOException e) {  
  29.             // ignore  
  30.         }  
  31. //      try {  
  32. ////            memcachedClient.shutdown();  
  33. //      } catch (IOException e) {  
  34. //          System. err .println( "Shutdown MemcachedClient fail" );  
  35. //          e.printStackTrace();  
  36. //      }  
  37.     }  
  38.   

你可能感兴趣的:(Memcache入门例子)