封裝cache

編寫接口Cache

T get(String key,Class?clazz);

void ?set(String key,T t);

編寫CacheService 接口

Cache create(String moduleName,int expire);

抽象類AbstractCacheService

這一層再封裝一些create方法,讓每個(gè)項(xiàng)目名字作為modulename的一部分

兩種緩存方案

1.LocalCacheService繼承AbstractCacheService

CacheBuilder.newBuilder()

.expireAfterWrite(this.expire,TimeUnit.SECONDS)

.build();

2. RedisCacheService 繼承AbstractCacheService

讀數(shù)據(jù) 寫數(shù)據(jù) 都用到com.esotericsoftware.kryo.Kryo ,redis.clients.jedis.Jedis

提到一點(diǎn) 這里的api用到了 java8? Supplier 意思是 ?可以從這里返回值

Function?fn 這個(gè)是 執(zhí)行邏輯,返回值

kryo是序列化 用的

概念就是,當(dāng)鍵沒有值的時(shí)候,就從另外的方案獲取值。然后存儲(chǔ)到緩存


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容