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.
907 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
2026 0
|
缓存 Java API
Java开发中的Memcache原理及实现
七、            Memcached 客户端程序 Memcached的java客户端已经存在三种了: ?  官方提供的基于传统阻塞io由Greg Whalin维护的客户端 ?  Dustin Sallings实现的基于java nio的Spymemcached ?  XMemcached 1. 三种API比较 1)      memcached client for j
1172 0
|
缓存 Java Memcache
Java调用Memcache入门
1       Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。    
1184 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
1359 0
|
8天前
|
安全 算法 Java
深入理解Java并发编程:线程安全与性能优化
【4月更文挑战第11天】 在Java中,高效的并发编程是提升应用性能和响应能力的关键。本文将探讨Java并发的核心概念,包括线程安全、锁机制、线程池以及并发集合等,同时提供实用的编程技巧和最佳实践,帮助开发者在保证线程安全的前提下,优化程序性能。我们将通过分析常见的并发问题,如竞态条件、死锁,以及如何利用现代Java并发工具来避免这些问题,从而构建更加健壮和高效的多线程应用程序。
|
1天前
|
安全 Java
java多线程(一)(火车售票)
java多线程(一)(火车售票)
|
2天前
|
安全 Java 调度
Java并发编程:深入理解线程与锁
【4月更文挑战第18天】本文探讨了Java中的线程和锁机制,包括线程的创建(通过Thread类、Runnable接口或Callable/Future)及其生命周期。Java提供多种锁机制,如`synchronized`关键字、ReentrantLock和ReadWriteLock,以确保并发访问共享资源的安全。此外,文章还介绍了高级并发工具,如Semaphore(控制并发线程数)、CountDownLatch(线程间等待)和CyclicBarrier(同步多个线程)。掌握这些知识对于编写高效、正确的并发程序至关重要。