首页>代码>java缓存工具类,支持主流的缓存memcache redis两种缓存系统>/cache-util/src/main/java/net/easipay/cache/service/imp/MemCachedServiceImp.java
package net.easipay.cache.service.imp;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import net.easipay.cache.client.manager.CacheClientManager;
import net.easipay.cache.service.CacheService;
import net.easipay.cache.util.SerializeUtil;

public class MemCachedServiceImp implements CacheService{
	Logger logger = LoggerFactory.getLogger(MemCachedServiceImp.class);

	public boolean add(String key, Object value) {
		logger.debug("Memcache add---key:"+key);
		return  CacheClientManager.getMemCachedClient().add(key, SerializeUtil.serialize(value));
	}
	public boolean add(String key, Object value, int expire) {
		logger.debug("Memcache add---key:"+key+",expire time(s):"+expire);
		return  CacheClientManager.getMemCachedClient().add(key, SerializeUtil.serialize(value),new Date(1000*expire));
	}

	public boolean set(String key, Object value) {
		logger.debug("Memcache set---key:"+key);
		return  CacheClientManager.getMemCachedClient().set(key, SerializeUtil.serialize(value));
	}
	
	public boolean set(String key, Object value, int expire) {
		logger.debug("Memcache set---key:"+key+",expire time(s):"+expire);
		return CacheClientManager.getMemCachedClient().set(key, SerializeUtil.serialize(value),new Date(1000*expire));

	}

	public <T>Object get(String key,Class<T> clazz) {
		logger.debug("Memcache get---key:"+key);
		 Object obj=CacheClientManager.getMemCachedClient().get(key);
		 if(obj!=null){
			 return SerializeUtil. unserialize(obj.toString(),clazz);
		 }
		 return null;

	}
	public <T>Object getList(String key,Class<T> clazz) {
		logger.debug("Memcache getList---key:"+key);
		 Object obj=CacheClientManager.getMemCachedClient().get(key);
		 if(obj!=null){
			 return SerializeUtil. unserializeList(obj.toString(),clazz);
		 }
		 return null;

	}
	public boolean delete(String key) {
		logger.debug("Memcache del---key:"+key);
		return CacheClientManager.getMemCachedClient().delete(key);
	}

	public Long incr(String key,Long inc) {
		logger.debug("Memcache incr---key:"+key+",inc:"+inc);
		Object obj=CacheClientManager.getMemCachedClient().get(key);
		if(obj==null){
			 CacheClientManager.getMemCachedClient().add(key, "0");
		}
		return CacheClientManager.getMemCachedClient().incr(key, inc);
	}

	public Long decr(String key,Long inc) {
		logger.debug("Memcache decr---key:"+key+",inc:"+inc);
		return CacheClientManager.getMemCachedClient().decr(key, inc);
	}
	
}
最近下载更多
weixiao  LV6 2020年5月18日
tangzhengqi  LV8 2019年12月31日
lironggang  LV38 2019年7月17日
lanjf2000  LV1 2019年5月20日
王晓波  LV16 2018年11月25日
wangfengnan  LV6 2018年9月3日
xshxxm1  LV21 2018年7月21日
最代码官方  LV168 2018年6月30日
最近浏览更多
暂无贡献等级
小白queen  LV1 2022年12月22日
tianli3000  LV8 2022年6月13日
落后就要挨打  LV26 2021年6月16日
是pangpang呀  LV6 2021年5月21日
耀眼的星星  LV3 2021年4月17日
Killah  LV9 2021年4月16日
a992013093  LV15 2021年3月2日
youzichao 2021年2月1日
暂无贡献等级
lilei123456 2021年1月7日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友