XXL-CACHE v1.1.0 | 多級緩存框架

Release Notes

  • 1银室、【升級】項目重構升級;定位 多級緩存框架稻轨,高效組合本地緩存和分布式緩存(Redis+Caffeine)灵莲,支持“多級緩存、一致性保障殴俱、TTL政冻、Category隔離、防穿透”等能力线欲,提供高性能多級緩存解決方案明场。
  • 2、【重構】高性能系統(tǒng)重構設計李丰,底層設計L1(Local)+L2(Remote)多級緩存模型苦锨,除分布式緩存之外前置在應用層設置本地緩存,高熱查詢前置本地處理避免遠程通訊,最大化提升性能舟舒;
  • 3拉庶、【重構】一致性保障設計,支持多層級秃励、集群多節(jié)點之間緩存數據一致性保障氏仗,借助廣播消息(Redis Pub/Sub)以及客戶端主動過期,實現L1及L2之間以及L1各集群節(jié)點間緩存數據一致性同步夺鲜;
  • 4皆尔、【重構】框架進行模塊化抽象設計,本地緩存谣旁、分布式緩存以及序列化方案均支持自定義擴展床佳;
  • 5、【易用性】緩存API優(yōu)化改造榄审,多級緩存框架支持業(yè)務透明接入砌们,屏蔽底層實現細節(jié),降低業(yè)務開發(fā)成本搁进,以及學習認知成本浪感;
  • 6、【升級】多個依賴升級最新版本饼问,如jedis影兽、spring等;
  • 7莱革、【優(yōu)化】核心依賴推送maven中央倉庫, 方便用戶接入和使用;

XXL- CACHE 快速接入示例

代碼參考github倉庫 /test 目錄:https://github.com/xuxueli/xxl-cache/tree/master/xxl-cache-samples

1峻堰、Maven引入

<!-- https://mvnrepository.com/artifact/com.xuxueli/xxl-cache-core -->
<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-cache-core</artifactId>
    <version>${最新穩(wěn)定版}</version>
</dependency>

2、組件配置

配置文件說明:

# xxl-cache
## L1緩存(本地)提供者盅视,默認 caffeine
xxl.cache.l1.provider=caffeine
## L1緩存最大容量捐名,默認10000;
xxl.cache.l1.maxSize=-1
## L1緩存過期時間闹击,單位秒镶蹋,默認10min;
xxl.cache.l1.expireAfterWrite=-1
## L2緩存(分布式)提供者赏半,默認 redis
xxl.cache.l2.provider=redis
## L2緩存節(jié)點配置贺归,多個節(jié)點用逗號分隔;示例 “127.0.0.1:6379,127.0.0.1:6380”
xxl.cache.l2.nodes=127.0.0.1:6379
## L2緩存用戶名配置
xxl.cache.l2.user=
## L2緩存密碼配置
xxl.cache.l2.password=

組件初始化配置:

@Bean(initMethod = "start", destroyMethod = "stop")
public XxlCacheFactory xxlCacheFactory() {
    XxlCacheFactory xxlCacheFactory = new XxlCacheFactory();
    xxlCacheFactory.setL1Provider(l1Provider);
    xxlCacheFactory.setMaxSize(maxSize);
    xxlCacheFactory.setExpireAfterWrite(expireAfterWrite);
    xxlCacheFactory.setL2Provider(l2Provider);
    xxlCacheFactory.setNodes(nodes);
    xxlCacheFactory.setUser(user);
    xxlCacheFactory.setPassword(password);
    return xxlCacheFactory;
}

經過上述2步断箫,已完成全部配置工作拂酣。

3、客戶端接入:

String category = "user";
String key = "user03";
// 緩存寫入 
XxlCacheHelper.getCache(category).set(key, value);
// 緩存查詢
String value = XxlCacheHelper.getCache(category).get(key);
// 緩存刪除
XxlCacheHelper.getCache(category).del(key);
...

簡介

XXL-CACHE 是一個 多級緩存框架仲义,高效組合本地緩存和分布式緩存(Redis+Caffeine)踱葛,支持“多級緩存丹莲、一致性保障光坝、TTL尸诽、Category隔離、防穿透”等能力盯另;擁有“高性能性含、高擴展、靈活易用”等特性鸳惯,提供高性能多級緩存解決方案商蕴;

img_01.png

特性

  • 1、靈活易用: 接入靈活方便芝发,一分鐘上手绪商;
  • 2、多級緩存:高效組合本地緩存和分布式緩存(Redis+Caffeine)辅鲸,支持L1格郁、L2級別緩存,支持多場景緩存訴求独悴;
  • 3例书、高擴展:框架進行模塊化抽象設計,本地緩存刻炒、分布式緩存以及序列化方案均支持自定義擴展决采;
  • 4、高性能:底層設計L1(Local)+L2(Remote)多級緩存模型坟奥,除分布式緩存之外前置在應用層設置本地緩存树瞭,高熱查詢前置本地處理避免遠程通訊,最大化提升性能爱谁;
  • 5晒喷、一致性保障:支持多層級、集群多節(jié)點之間緩存數據一致性保障管行,借助廣播消息(Redis Pub/Sub)以及客戶端主動過期厨埋,實現L1及L2之間以及L1各集群節(jié)點間緩存數據一致性同步;
  • 6捐顷、TTL:支持TTL荡陷,支持緩存數據主動過期及清理;
  • 7迅涮、Category隔離:支持自定義緩存Category分類废赞,緩存數據存儲隔離;
  • 8叮姑、緩存風險治理:針對典型緩存風險唉地,如緩存穿透据悔,底層進行針對性設計進行風險防護;
  • 9耘沼、透明接入:支持業(yè)務透明接入极颓,屏蔽底層實現細節(jié),降低業(yè)務開發(fā)成本群嗤,以及學習認知成本菠隆;
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市狂秘,隨后出現的幾起案子骇径,更是在濱河造成了極大的恐慌,老刑警劉巖者春,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件破衔,死亡現場離奇詭異,居然都是意外死亡钱烟,警方通過查閱死者的電腦和手機晰筛,發(fā)現死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忠售,“玉大人传惠,你說我怎么就攤上這事〉狙铮” “怎么了卦方?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泰佳。 經常有香客問我盼砍,道長,這世上最難降的妖魔是什么逝她? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任浇坐,我火速辦了婚禮,結果婚禮上黔宛,老公的妹妹穿的比我還像新娘近刘。我一直安慰自己,他們只是感情好臀晃,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布觉渴。 她就那樣靜靜地躺著,像睡著了一般徽惋。 火紅的嫁衣襯著肌膚如雪案淋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天险绘,我揣著相機與錄音踢京,去河邊找鬼誉碴。 笑死,一個胖子當著我的面吹牛瓣距,可吹牛的內容都是我干的黔帕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼旨涝,長吁一口氣:“原來是場噩夢啊……” “哼蹬屹!你這毒婦竟也來了?” 一聲冷哼從身側響起白华,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贩耐,沒想到半個月后弧腥,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡潮太,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年管搪,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铡买。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡更鲁,死狀恐怖,靈堂內的尸體忽然破棺而出奇钞,到底是詐尸還是另有隱情澡为,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布景埃,位于F島的核電站媒至,受9級特大地震影響,放射性物質發(fā)生泄漏谷徙。R本人自食惡果不足惜拒啰,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望完慧。 院中可真熱鬧谋旦,春花似錦、人聲如沸屈尼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸿染。三九已至指蚜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間涨椒,已是汗流浹背摊鸡。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工绽媒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人免猾。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓是辕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親猎提。 傳聞我的和親對象是個殘疾皇子获三,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內容