惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
Martin Fowler
Martin Fowler
爱范儿
爱范儿
IT之家
IT之家
Last Week in AI
Last Week in AI
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
The Cloudflare Blog
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
腾讯CDC
Microsoft Security Blog
Microsoft Security Blog

博客园 - 许雪里

AI 范式越迁:使用 XXL-BOOT SKILL 实现一句话直生业务 XXL-BOOT v2.1.0 发布:React 全新上线 · 全栈 TypeScript · AI+SKILL 驱动开发 人机Agent团队协同:从Managed Agents原理到Multica实践 AI规范编程:从SDD理念到Spec-Kit落地实践 开源AI Agent:OpenCode集成OMO原理及实践 AI编程实战:Claude Code + IDEA 的沉浸式编程方案 XXL-JOB v3.4.0 发布 | OpenClaw集成、合并调度、健壮性及体验增强 使用OpenClaw+Skill自动发布微信公众号文章 OpenClaw部署并集成QQ搭建自动化AI助理 使用Milvus搭配Ollama搭建RAG知识库 XXL-JOB v3.3.2 发布 | 优雅停机、Docker Compose、健壮性增强 XXL-CONF v2.2.0 | 分布式配置中心与注册中心 XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel流式读写、高性能BeanCopy XXL-JOB v3.3.1 发布 | 升级SpringBoot4、健壮性增强 XXL-JOB v3.3.0 | 分布式任务调度平台 XXL-TOOL v2.3.0 发布 | Java工具类库 XXL-TOOL v2.1.0 发布 | Java工具类库 XXL-JOB v3.2.0 | 分布式任务调度平台 XXL-BOOT v1.2.0 | 快速开发平台 XXL-CRAWLER v1.5.0 | Java爬虫框架 XXL-SSO v2.0.0 发布|单点登录框架 XXL-TOOL v2.0.0 发布 | Java工具类库 使用XXL-SSO实现登录认证以及权限管控 XXL-TOOL v1.5.0 发布 | Java工具类库
XXL-CACHE v1.4.0 | 多级缓存框架
许雪里 · 2025-08-15 · via 博客园 - 许雪里

image

Release Notes

  • 1、【升级】项目升级JDK17;
  • 2、【升级】项目部分依赖升级,如caffeine,适配JDK17;
  • 3、【优化】L1缓存广播发布/订阅断连重连优化(ISSUE-32);
  • 4、【重构】合并PR-28,重构 getCache 方法并优化性能;
  • 5、【优化】合并PR-35,引入单元测试框架,重写单元测试方法;
  • 6、【升级】多个依赖升级最新版本,如jedis、caffeine等;

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>${最新稳定版}</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缓存序列化方式,默认 java
xxl.cache.l2.serializer=java
## L2缓存节点配置,多个节点用逗号分隔;示例 “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.setSerializer(serializer);
    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、一致性保障:支持多层级、集群多节点之间缓存数据一致性保障,借助广播消息(Redis Pub/Sub)以及客户端主动过期,实现L1及L2之间以及L1各集群节点间缓存数据一致性同步;
  • 6、TTL:支持TTL,支持缓存数据主动过期及清理;
  • 7、Category隔离:支持自定义缓存Category分类,缓存数据存储隔离;
  • 8、缓存风险治理:针对典型缓存风险,如缓存穿透,底层进行针对性设计进行风险防护;
  • 9、透明接入:支持业务透明接入,屏蔽底层实现细节,降低业务开发成本,以及学习认知成本;