java 缓存接口,java项目中,针对缓存问题的处理方式【接口中的处理方式】
1、在service包中,分別建立了關(guān)于緩存的一系列的接口、類(lèi)等,封裝到一個(gè)工具包中;
臨時(shí)緩存的接口(代碼部分):
packagecom.tools;importjava.util.Date;public interfaceCacheTemplet {//設(shè)置添加永久緩存,(緩存唯一索引,緩存數(shù)據(jù))
public voidaddCache(Object key,Object value);//設(shè)置添加緩存,不過(guò)需要有一個(gè)過(guò)期的時(shí)間毫秒數(shù)限制
public voidaddCache(Object key,Object value,Long duration);//設(shè)置添加緩存,需要有一個(gè)date類(lèi)型的時(shí)間限制
public voidaddCache(Object key,Object value,Date expire);//獲取緩存信息,根據(jù)key獲取緩存信息
publicObject getCache(Object key);//刪除緩存信息,根據(jù)key值進(jìn)行刪除
public voidDelCache(Object key);
}
2、再建立一個(gè)關(guān)于"緩存的工廠",用于獲取緩存的實(shí)現(xiàn),從工廠中獲取到緩存對(duì)象,然后從緩存對(duì)象中對(duì)緩存信息進(jìn)行操作(獲取也好,刪除也可以);
packagecom.tools;//緩存工廠
public classCacheFactory {//無(wú)參構(gòu)造器
privateCacheFactory(){ }//私有的成員變量
private CacheTemplet cacheTemplet = null;//獲取JVM緩存(未寫(xiě)完)public CacheTemplet GetCache(){....}//獲取緩存
public CacheTemplet GetCache(CacheEnum cacheEnum){...}
//Redis連接池
private RedisPool redisPool;
//接下來(lái)就是相應(yīng)的set方法,沒(méi)有用到get方法,
public void setRedisPool(RedisPool redisPool){...}
private static CacheFactory cacheFactory = null;
//獲取緩存工廠
public static CacheFactory GetCacheFactory()?{...}
.
.
.
.
........
}
3、然后在相應(yīng)的service實(shí)現(xiàn)類(lèi)中,具體的使用方法如下:java代碼
//獲取距離用戶(hù)最近的飯店
public List> putSale(final String product,final String userTell){
//首先從實(shí)例化緩存臨時(shí)對(duì)象
CacheTemplet cacheTemplet = CacheFactory.GetCacheFactory().GetCache(
CacheEnum.Redis);//臨時(shí)緩存,獲取緩存工廠,獲取緩存實(shí)現(xiàn)
//在創(chuàng)建緩存實(shí)體類(lèi)對(duì)象
List> storeInRe = new ArrayList>() ;
.....
Map e = new HashMap();
e.put("yxwddh", yxwddh); // 飯店電話(huà)
storeInRe.add(e);//添加緩存信息
}
原文:http://www.cnblogs.com/FanSunny/p/4875380.html
總結(jié)
以上是生活随笔為你收集整理的java 缓存接口,java项目中,针对缓存问题的处理方式【接口中的处理方式】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java perl5compiler,J
- 下一篇: oracle 数据执行计划,Oracle