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

import net.easipay.cache.config.CacheConfig;
import net.easipay.cache.service.CacheService;
import net.easipay.cache.service.imp.MemCachedServiceImp;
import net.easipay.cache.service.imp.RedisCachedServiceImp;

public class CacheClient {
	public static int CACHEMODE_MEMCACHED=1;// 1-memcached
	public static int CACHEMODE_REDIS=2;//2-redis
	static CacheService cache;
	static{
		if(CacheConfig.getCacheMode()==CACHEMODE_MEMCACHED){
			if(cache==null){
				cache=new MemCachedServiceImp();
			}
		}
		if(CacheConfig.getCacheMode()==CACHEMODE_REDIS){
			if(cache==null){
				cache=new RedisCachedServiceImp();
			}
		}
	}
	/** 
     * 向缓存添加键值对,如果 add 的 key 已经存在,则不会更新数据,之前的值将仍然保持相同
     *  
     */
	public static boolean add(String key, Object value) {
		return cache.add(key, value);
	}
	/** 
     * 向缓存添加键值对,如果 add 的 key 已经存在,则不会更新数据,之前的值将仍然保持相同,并为该键值对设定逾期时间(即多长时间后该键值对从缓存中删除,单位秒:s) 
     *  
     */
	public static boolean add(String key, Object value, int expire) {
		return cache.add(key, value,expire);
	}
	/** 
     * 向缓存添加键值对,如果key存在则覆盖原来的value
     *  
     */
	public static boolean set(String key, Object value) {
		return cache.set(key, value);
	}
	
	/** 
     * 向缓存添加键值对,如果key存在则覆盖原来的value并为该键值对设定逾期时间(即多长时间后该键值对从缓存中删除,单位秒:s) 
     *  
     */
	public static boolean set(String key, Object value, int expire) {
		return cache.set(key, value, expire);
	}
	 /** 
     * 根据键获取缓存管理系统中相应的值 
     *  
     */ 
	public static  <T>Object get(String key,Class<T> clazz) {
		return cache.get(key,clazz);
	}
	/** 
     * 根据键获取缓存管理系统中相应的值 
     *  
     */ 
	public static  <T>Object getList(String key,Class<T> clazz) {
		return cache.getList(key,clazz);
	}
	/** 
     * 根据键删除缓存管理系统中相应的值 
     *  
     */
	public  static boolean delete(String key) {
		return cache.delete(key);
	}
	
	/** 
     * 对已存在的 key(键) 的数字值进行自增操作
     *  
     */
	public  static Long incr(String key,Long inc) {
		return cache.incr(key, inc);
	}
	
	/** 
     * 对已存在的 key(键) 的数字值进行自减操作
     *  
     */
	public  static Long decr(String key,Long inc) {
		return cache.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日
最代码官方  LV167 2018年6月30日
最近浏览更多
暂无贡献等级
小白queen  LV1 2022年12月22日
tianli3000  LV7 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日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友