java memcache

简介: 引用:http://blog.csdn.net/einarzhang/article/details/6064092 Memcache的介绍有很多,这里给出如何在Java中应用Memcache的基本方法     1 安装Memcache服务器(windows) 下载windows版Memcache安装包,如memcached-1.2.6-win32-bin.zip,解压到指定位置,比如(D://memcache),打开dos命令行,输入以下两个命令即可启动Memcache服务。

引用:http://blog.csdn.net/einarzhang/article/details/6064092

Memcache的介绍有很多,这里给出如何在Java中应用Memcache的基本方法

 

  1 安装Memcache服务器(windows)

下载windowsMemcache安装包,如memcached-1.2.6-win32-bin.zip,解压到指定位置,比如(D://memcache),打开dos命令行,输入以下两个命令即可启动Memcache服务。

D:/memcache/memcached.exe -d  install 

D:/memcache/memcached.exe -d  start 

 

 

  2 下载Java版本的memcache客户端(以下列出常用的几种)

 spymemcached :

http://code.google.com/p/spymemcached/

 gwhalin / Memcached-Java-Client   

   https://github.com/gwhalin/Memcached-Java-Client/downloads

 Jcache

http://code.google.com/intl/zh-CN/appengine/docs/java/memcache/usingjcache.html

 

 

 

  3 下面给出两种方式调用Memcache

     

  gwhalin / Memcached-Java-Client调用方式如下:

  

 

[java:nogutter]  view plain copy
  1. public class MemcacheManagerForGwhalin {  
  2.       
  3.     // 构建缓存客户端  
  4.     private static MemCachedClient cachedClient;  
  5.     // 单例模式实现客户端管理类  
  6.     private static MemcacheManagerForGwhalin INSTANCE = new MemcacheManagerForGwhalin();  
  7.   
  8.     private MemcacheManagerForGwhalin() {  
  9.         cachedClient = new MemCachedClient();  
  10.         //获取连接池实例  
  11.         SockIOPool pool = SockIOPool.getInstance();  
  12.   
  13.         //设置缓存服务器地址,可以设置多个实现分布式缓存  
  14.         pool.setServers(new String[]{"127.0.0.1:11211"});  
  15.           
  16.         //设置初始连接5  
  17.         pool.setInitConn(5);  
  18.         //设置最小连接5  
  19.         pool.setMinConn(5);  
  20.         //设置最大连接250  
  21.         pool.setMaxConn(250);  
  22.         //设置每个连接最大空闲时间3个小时  
  23.         pool.setMaxIdle(1000 * 60 * 60 * 3);  
  24.   
  25.         pool.setMaintSleep(30);  
  26.   
  27.         pool.setNagle(false);  
  28.         pool.setSocketTO(3000);  
  29.         pool.setSocketConnectTO(0);  
  30.         pool.initialize();  
  31.     }  
  32.       
  33.     /** 
  34.      * 获取缓存管理器唯一实例 
  35.      * @return 
  36.      */  
  37.     public static MemcacheManagerForGwhalin getInstance() {  
  38.         return INSTANCE;  
  39.     }  
  40.   
  41.     @Override  
  42.     public void add(String key, Object value) {  
  43.         cachedClient.set(key, value);  
  44.     }  
  45.   
  46.     @Override  
  47.     public void add(String key, Object value, int milliseconds) {  
  48.         cachedClient.set(key, value, milliseconds);  
  49.     }  
  50.   
  51.     @Override  
  52.     public void remove(String key) {  
  53.         cachedClient.delete(key);  
  54.     }  
  55.   
  56.     @Override  
  57.     public void remove(String key, int milliseconds) {  
  58.         cachedClient.delete(key, milliseconds, new Date());  
  59.     }  
  60.   
  61.     @Override  
  62.     public void update(String key, Object value, int milliseconds) {  
  63.         cachedClient.replace(key, value, milliseconds);  
  64.     }  
  65.   
  66.     @Override  
  67.     public void update(String key, Object value) {  
  68.         cachedClient.replace(key, value);  
  69.     }  
  70.       
  71.       
  72.     @Override  
  73.     public Object get(String key) {  
  74.         return cachedClient.get(key);  
  75.     }  
  76.   
  77. }  

 

 

Spy方式调用如下:

 

 
  1. public class MemcacheManagerForSpy implements IMemcacheManager {  
  2.   
  3.   
  4.     //缓存客户端  
  5.     private MemcachedClient memcacheCient;  
  6.     //Manager管理对象,单例模式  
  7.     private static MemcacheManagerForSpy INSTANCE = new MemcacheManagerForSpy();   
  8.       
  9.     private MemcacheManagerForSpy() {  
  10.         try {  
  11.                 memcacheCient = new MemcachedClient(new InetSocketAddress("127.0.0.1",11211));  
  12.         } catch (IOException e) {  
  13.             e.printStackTrace();  
  14.         }  
  15.     }  
  16.       
  17.     public static MemcacheManagerForSpy getInstance() {  
  18.         return INSTANCE;  
  19.     }  
  20.       
  21.     @Override  
  22.     public void add(String key, Object value, int milliseconds) {  
  23.         memcacheCient.add(key, milliseconds, value);  
  24.     }  
  25.   
  26.     @Override  
  27.     public void add(String key, Object value) {  
  28.         memcacheCient.add(key, 3600, value);  
  29.           
  30.     }  
  31.   
  32.     @Override  
  33.     public void remove(String key, int milliseconds) {  
  34.         memcacheCient.delete(key);  
  35.     }  
  36.   
  37.     @Override  
  38.     public void remove(String key) {  
  39.         memcacheCient.delete(key);  
  40.     }  
  41.   
  42.     @Override  
  43.     public void update(String key, Object value, int milliseconds) {  
  44.         memcacheCient.replace(key, milliseconds, value);  
  45.     }  
  46.   
  47.     @Override  
  48.     public void update(String key, Object value) {  
  49.         memcacheCient.replace(key, 3600, value);  
  50.     }  
  51.   
  52.     @Override  
  53.     public Object get(String key) {  
  54.         return  memcacheCient.get(key);  
  55.     }  
  56. }  

 

 

相关文章
|
Java Memcache Maven
Java操作memcache
[本文出自天外归云的博客园] 准备工作 Java操作memcache需要spymemcache类库的支持,在Eclipse中修改maven项目的pom.xml文件—— 添加仓库: spy Spy Repository default http://files.
965 0
|
缓存 Java Memcache
java Memcache使用详解
Memcached-Java-Client是Memcached官方提供的Java语言访问Memcached的client,使用它可以比较方便地与缓存服务端进行通信。下载地址:https://github.com/gwhalin/Memcached-Java-Client/downloads,  下载最新版本 java_memcached-release_2.6.6.zip memcached
2084 0
|
缓存 Java API
Java开发中的Memcache原理及实现
七、            Memcached 客户端程序 Memcached的java客户端已经存在三种了: ?  官方提供的基于传统阻塞io由Greg Whalin维护的客户端 ?  Dustin Sallings实现的基于java nio的Spymemcached ?  XMemcached 1. 三种API比较 1)      memcached client for j
1207 0
|
缓存 Java Memcache
Java调用Memcache入门
1       Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。    
1217 0
|
移动开发 Java Linux
CentOS 安装 Memcache 服务器. java 做客户端.
  1,下载安装第三方源:   CentOS 6 或 RedHat 6 安装此rpm , 其他 下载 :http://pkgs.repoforge.org/rpmforge-release/     wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm rp
1385 0
|
3天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
29 6
|
18天前
|
设计模式 Java 开发者
Java多线程编程的陷阱与解决方案####
本文深入探讨了Java多线程编程中常见的问题及其解决策略。通过分析竞态条件、死锁、活锁等典型场景,并结合代码示例和实用技巧,帮助开发者有效避免这些陷阱,提升并发程序的稳定性和性能。 ####