Java缓存
作用:加速系统访问、提升系统性能
(1)、JSR107
Java Caching定义了5个核心接口,分别是CachingProvider、CacheManager、Cache、Entry、Expiry
- CachingProvider(缓存提供者)定义了创建、配置、获取、管理和控制多个CacheManager,一个应用可以在运行期间访问多个CachingProvider。
- CacheManager(缓存管理器)定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache存在于CacheManager的上下文中,一个CacheManager仅被一 个CachingProvider所拥有。
- Cache(缓存)是一个类似Map的数据结构并临时存储以Key为索引的值,一个Cache仅被一个CacheManager所拥有。
- Entry是一个存储在Cache中的Key-Value对。
- Expiry 每一个存储在Cache中的条目有一个定义的有效期,一旦超过这个时间,条目为过期的状态,一旦过期,条目将不可访问、更新和删除,缓存的有效期可以通过 ExpiryPolicy设置
(2) Spring的缓存抽象接口
Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术,支持使用JCache(JSR107)注解来简化开发
Spring提供了各种xxxCache的实现,例如RedisCache、EhCacheCache、ConcurrentMapcache
使用Sorubg的缓存我们要关注以下两点:
- 确定方法需要被缓存以及缓存策略
- 从缓存中读取之前缓存读取的数据
(3)几个重要概念及缓存注解
- Cache 缓存接口,定义缓存操作
- CacheManager 缓存管理器,管理各种缓存组件
- @Cacheable 一般用于查询方法,能够根据方法的请求参数对其结果进行缓存,在方法运行之前调用
- @CacheEvict 一般用于删除方法,清空数据。
- @CachePut 一般用于更新方法,方法调用后对结果进行缓存
- @EnableCaching 开启基于注解的缓存
- keyGenerator 缓存数据时Key的生成策略
- serialize 缓存数据时Value序列化策略
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/10350723.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
分类:
Java基础
如果文章内容对您有所帮助,欢迎赞赏.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!