1、memCache.properties:
memcache=92.0.0.0\:56666 time=7200
package com.common.common; import java.io.IOException; import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import com.cdoframework.cdolib.data.cdo.CDO; import net.spy.memcached.MemcachedClient; /** * cache的失效时间,0或者负数为永久有效 * 如果超过60*60*24*30为从1970年以来的时间数,否则为从现在起的时间数 * @author Administrator * */ public class CacheUtil { public static int DEFAULT_TIMEOUT = 1; public static TimeUnit DEFAULT_TIMEUNIT = TimeUnit.SECONDS; private static MemcachedClient memCachedClient; static{ try { //memCachedClient = new MemcachedClient(); String hosts = ProPertiesUtil.getValue("/memCache.properties", "memcache"); String[] servers = hosts.split(";"); List<InetSocketAddress> lsinetSocketAddress = new ArrayList<InetSocketAddress>(); for(int i=0;i<servers.length;i++){ String[] hp = servers[i].split(":"); lsinetSocketAddress.add(new InetSocketAddress(hp[0],Integer.parseInt(hp[1]))); } memCachedClient = new MemcachedClient(lsinetSocketAddress); } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 覆盖此key值 * @param key * @param object * @param time * @return */ public static boolean put(String key,Object object,int time){ Future<Boolean> f = memCachedClient.set(key, time, object); return getBooleanValue(f); } /** * 如果key不存在,存进去 true * 如果存在,false * @param key * @param object * @param time * @return */ public static boolean putNotExist(String key,Object object,int time){ Future<Boolean> f = memCachedClient.add(key, time, object); return getBooleanValue(f); } /** * 获得 * @param key * @return */ public static Object get(String key){ return memCachedClient.get(key); } /** * 删除 * @param key * @return */ public static boolean delete(String key) { Future<Boolean> f = memCachedClient.delete(key); return getBooleanValue(f); } /** * 清除cache * @return */ public boolean flush() { Future<Boolean> f = memCachedClient.flush(); return getBooleanValue(f); } private static boolean getBooleanValue(Future<Boolean> f) { try { Boolean bool = f.get(DEFAULT_TIMEOUT,DEFAULT_TIMEUNIT); return bool.booleanValue(); } catch (Exception e) { f.cancel(false); return false; } } public static void main(String[] args) { System.out.println(CacheUtil.get("1more_award_5_33" )); } }
使用:
Object object = CacheUtil.get("global_access_token"); if(object == null){ access_token = HttpsUtil.getTokenFromWX(); CacheUtil.put("global_access_token", access_token, 7180); }
..
for(;;) { //全局锁 /** * 如果key不存在,存进去 true * 如果存在,false * @param key * @param object * @param time * @return */ Boolean lock = CacheUtil.putNotExist("detail_lock", "detail", 20); try{ if(lock){ ... } }catch(Exception ex){ logger.info("ex:" + ex.getMessage()+ ex.getStackTrace()); }finally{ CacheUtil.delete("detail_lock"); logger.info("用户[" + strUserName +"]释放锁.."); } break; } public static boolean putNotExist(String key,Object object,int time){ Future<Boolean> f = memCachedClient.add(key, time, object); return getBooleanValue(f); }
相关推荐
安装php-memcached扩展 https://github.com/php-memcached-dev/php-memcached tar -zxvf ...-disable-memcached-sasl && make && make install
python-memcached python-memcached
java-memcached-2.6.6.jar
因为 simple-spring-memcached 暂时和 MyBatis3 没办法直接整合(MyBatis3 不再需要 DAO 实现类),simple-spring-memcached annotation 在 interface 方法里不起作用。见我提交的 Bug。 ssm3-springcache-mybatis3-...
这个包是最高版本了,google code是1.22,但是这个版本是基础班的1.5版本.是github上源代码经过我打包出来的jar
cas-client-support-distributed-memcached-3.2.0.jar
hibernate-memcached-1.1.0-sources.zip
在JAVA中使用Memcached进行行缓存是比较复杂的。Simple-Spring-Memcachd(SSM)企图通过实现几个基础的使用项来简化Memcached的使用。 该项在java-memcached客户端的基础上使用java5的注解和Sping/AspectJ的AOP,使...
hibernate-memcached-1.1.0.jar
Nagios-Plugins-Memcached-0.02.tar.gz
python-memcached-latest.tar
用于hibernate集成memcached作为二级缓存所需要的包,1.2.2版本
simple-spring-memcached是与mamcached与spring结合,实现注解的方式缓存。 这是java所需要的jar,版本为3.3.0
资源分类:Python库 所属语言:Python 资源全名:python-binary-memcached-0.24.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
php-memcached-demo.tar.gz为memcache缓存服务器的软件包
hibernate-memcached, 在Hibernate中,使用Memcached作为第二级分布式缓存的库 休眠 memcachedHibernate中使用Memcached作为第二级分布式缓存的库。基于优秀的spymemcached客户端包含对 Whalin ( danga ) memcached...
本lib包包含:javolution-5.5.1.jar、kryo-1.03.jar、kryo-serializers-0.10.jar、memcached-2.5.jar、memcached-session-manager-1.5.1.jar、memcached-session-manager-tc7-1.5.1.jar、minlog-1.2.jar、msm-...
memcached python-memcached
java - memcached所需要的jar包 A. alisoft-xplatform-asf-cache-2.5.1.jar B. commons-logging-1.0.4.jar C. hessian-3.0.1.jar D. log4j-1.2.9.jar E. stax-api-1.0.1.jar F. wstx-asl-2.0.2.jar