鸬鹚洲 发表于 2015-11-18 12:38:16

Java Memcache基本应用

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

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


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调用方式如下:
   
public class MemcacheManagerForGwhalin {// 构建缓存客户端private static MemCachedClient cachedClient;// 单例模式实现客户端管理类private static MemcacheManagerForGwhalin INSTANCE = new MemcacheManagerForGwhalin();private MemcacheManagerForGwhalin() {cachedClient = new MemCachedClient();//获取连接池实例SockIOPool pool = SockIOPool.getInstance();//设置缓存服务器地址,可以设置多个实现分布式缓存pool.setServers(new String[]{"127.0.0.1:11211"});//设置初始连接5pool.setInitConn(5);//设置最小连接5pool.setMinConn(5);//设置最大连接250pool.setMaxConn(250);//设置每个连接最大空闲时间3个小时pool.setMaxIdle(1000 * 60 * 60 * 3);pool.setMaintSleep(30);pool.setNagle(false);pool.setSocketTO(3000);pool.setSocketConnectTO(0);pool.initialize();}/*** 获取缓存管理器唯一实例* @return*/public static MemcacheManagerForGwhalin getInstance() {return INSTANCE;}@Overridepublic void add(String key, Object value) {cachedClient.set(key, value);}@Overridepublic void add(String key, Object value, int milliseconds) {cachedClient.set(key, value, milliseconds);}@Overridepublic void remove(String key) {cachedClient.delete(key);}@Overridepublic void remove(String key, int milliseconds) {cachedClient.delete(key, milliseconds, new Date());}@Overridepublic void update(String key, Object value, int milliseconds) {cachedClient.replace(key, value, milliseconds);}@Overridepublic void update(String key, Object value) {cachedClient.replace(key, value);}@Overridepublic Object get(String key) {return cachedClient.get(key);}}
  Spy方式调用如下:
public class MemcacheManagerForSpy implements IMemcacheManager {//缓存客户端private MemcachedClient memcacheCient;//Manager管理对象,单例模式private static MemcacheManagerForSpy INSTANCE = new MemcacheManagerForSpy(); private MemcacheManagerForSpy() {try {memcacheCient = new MemcachedClient(new InetSocketAddress("127.0.0.1",11211));} catch (IOException e) {e.printStackTrace();}}public static MemcacheManagerForSpy getInstance() {return INSTANCE;}@Overridepublic void add(String key, Object value, int milliseconds) {memcacheCient.add(key, milliseconds, value);}@Overridepublic void add(String key, Object value) {memcacheCient.add(key, 3600, value);}@Overridepublic void remove(String key, int milliseconds) {memcacheCient.delete(key);}@Overridepublic void remove(String key) {memcacheCient.delete(key);}@Overridepublic void update(String key, Object value, int milliseconds) {memcacheCient.replace(key, milliseconds, value);}@Overridepublic void update(String key, Object value) {memcacheCient.replace(key, 3600, value);}@Overridepublic Object get(String key) {return memcacheCient.get(key);}}
  
  


             版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: Java Memcache基本应用