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ā)成本群嗤,以及學習認知成本菠隆;