XXL-CACHE v1.2.0 | 多级缓存框架
Release Notes
- 1、【增强】多序列化协议支持:针对L2缓存,组件化抽象Serializer,可灵活扩展更多序列化协议;
- 2、【优化】移除冗余依赖,精简Core体积;
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"; long survivalTime = 60*1000; String key = "user03"; /** * 1、定义缓存对象,并指定 “缓存category + 过期时间” */ XxlCacheHelper.XxlCache userCache = XxlCacheHelper.getCache(category, survivalTime); /** * 2、缓存写:按照 L1 -> L2 顺序依次写缓存,同时借助内部广播机制更新全局L1节点缓存; */ userCache.set(key, value); /** * 3、缓存读:按照 L1 -> L2 顺序依次读取缓存,如果L1存在缓存则返回,否则读取L2缓存并同步L1; */ userCache.get(key); /** * 4、缓存删:按照 L1 -> L2 顺序依次删缓存,同时借助内部广播机制更新全局L1节点缓存; */ userCache.del(key); ...
简介
XXL-CACHE 是一个 多级缓存框架,高效组合本地缓存和分布式缓存(Redis+Caffeine),支持“多级缓存、一致性保障、TTL、Category隔离、防穿透”等能力;拥有“高性能、高扩展、灵活易用”等特性,提供高性能多级缓存解决方案;
特性
- 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、透明接入:支持业务透明接入,屏蔽底层实现细节,降低业务开发成本,以及学习认知成本;

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
XXL-JOB v3.0.0 | 分布式任务调度平台
Release Notes 1、【升级】调度中心升级至 SpringBoot3 + JDK17; 2、【升级】Docker镜像升级,镜像构建基于JDK17; 3、【优化】IP获取逻辑优化,优先遍历网卡来获取可用IP; 4、【优化】通用命令行任务(“commandJobHandler”)优化,支持多参数执行,命令及参数之间通过空格隔开;如任务参数 "ls la" 或 "pwd" 将会执行命令并输出数据; 5、【优化】通用HTTP任务(httpJobHandler)优化,任务参数格式调整为json格式; 6、【升级】多个项目依赖升级至较新稳定版本,涉及 gson、groovy、spring/springboot 等; 备注: a、本次升级数据模型及通讯协议向前兼容,v2.4.*及后续版本可无缝升级; b、版本3.x开始要求Jdk17;版本2.x及以下支持Jdk1.8。如对Jdk版本有诉求,可选择接入不同版本; 代码接入示例 XXL-JOB支持多模式任务,下文以简单的“Bean模式任务”为例介绍,三步快速开发接入。 步骤一:执行器,开发Job方法 @XxlJob("demoJobHand...
- 下一篇
XXL-MQ v1.3.0 | 分布式消息队列
Release Notes 1、【增强】消费者分组属性 "group" 支持为空,为空时自动赋值UUID,方便实现多分组广播消费; 2、【增强】海量数据堆积:消息数据存储在DB中,原生兼容支持 "MySQL、TIDB" 两种存储方式,前者支持千万级消息堆积,后者支持百亿级别消息堆积(TIDB理论上无上限); 3、【优化】消费者批量注册发现,提高注册发现性能; 4、【优化】消息流转日志格式优化,提升日志可读性; 5、【优化】升级xxl-rpc、xxl-registry至较新版本,Broker注册发现服务做适配性优化; 简介 XXL-MQ是一款轻量级分布式消息队列,拥有 "水平扩展、高可用、海量数据堆积、单机TPS过10万、毫秒级投递" 等特性, 支持 "并发消息、串行消息、广播消息、延迟消息、事务消费、失败重试、超时控制" 等消息特性。现已开放源代码,开箱即用。 中文文档 Github地址 特性 1、简单易用: 一行代码即可发布一条消息; 一行注解即可订阅一个消息主题; 2、轻量级: 部署简单,不依赖第三方服务,一分钟上手; 3、水平扩展:消息中心支持无限水平扩展,这里的水平扩展包括两方...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7