Spring Cache常用注解详解
Spring Cache常用注解详解
@EnableCaching
开启Spring Cache框架支持。解析对应的注解,实现缓存读写访问
@CacheConfig
缓存配置,可以配置当前类型中所用缓存注解的通用信息
示例:配置当类前所有缓存注解的缓存前缀
@CacheConfig(cacheNames = "cache:prefix")
@Cacheable
表示要对方法返回值进行缓存
注解属性:
cacheNames
: 缓存key前缀名字key
:缓存key后缀condition
: SpringEL表达式,结果为true,缓存数据到redis。结果为false,不缓存数据到redis。unless
:SpringEL表达式,结果为false,缓存数据到redis。结果为true,不缓存数据到redis。
示例
//执行方法时,返回结果做缓存
@Cacheable(cacheNames="cache:prefix",key = "'all:values'")//方法参数id 作为key的一部分,做缓存
@CachePut(key = "'TestServiceImpl:getById:'+#id")//方法参数id 作为key的一部分,做缓存,方法返回结果为null时,不做缓存
@Cacheable(key = "'testUnless('+#id+')'",unless = "#result==null")//方法参数id大于0时 作为key的一部分,做缓存
@Cacheable(key = "'TestServiceImpl:getById:'+#id", condition = "#id > 0")
@CacheEvict
淘汰缓存注解
注解属性:
allEntries
代表是否删除cacheNames对应的全部的缓存。 ,默认false,可选true。- 注解属性和Cacheable相似
示例
//执行方法时,根据key删除缓存
@CacheEvict(allEntries = true)
@CachePut
更新缓存,如果key存在覆盖缓存数据。key不存在,新增数据到缓存。
注解属性:跟@Cacheable相似
示例
//方法参数id 作为key的一部分,根据key更新缓存
@CachePut(key = "'TestServiceImpl:getById:'+#id")
Spring Cache常用注解详解相关推荐
- spring mvc 常用注解详解
@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model , ...
- Spring定时任务 - @Schedule注解详解
一.@Schedule注解一览 @Scheduled注解共有8个属性(其中有3组只是不同类型的相同配置)和一个常量CRON_DISABLED,源码如下: /*** 标记要调度的方法的注释. 必须准确指 ...
- Spring中@Value注解详解
在spring项目中必不可少的就是读取配置文件,那么读取配置文件就有两种方式.一种就是使用Spring中@Value注解,还有一种是使用SpringBoot中的@ConfigurationProper ...
- Java | SpringBoot 常用注解详解
1 概述 IOC 是Spring 最为重要的功能之一,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式. 简言之,注解本身没有 ...
- SpringMVC常用注解详解
先说扫描注解 <context:component-scan base-package = "" /> component-scan 默认扫描的注解类型是 @Compo ...
- Spring框架@PostConstruct注解详解
文章目录 前言 业务背景 通过依赖查找实现 `@PostConstruct`注解实现 @PostConstruct注解原理 `@PostConstruct`注解 `@PostConstruct`注解源 ...
- java jpa注解哪个包好,Spring Data JPA 中常用注解详解
一.java对象与数据库字段转化 @Entity:标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表 @Table:设置实体类在数据库所对应的表名 @Id:标识类里所在变量为主键 @Gen ...
- springboot常用注解详解
在springboot中,经常会用到一些注解,它们各自代表着什么呢?在这个属于我们的节日里,快来了解一下吧! 1.@SpringBootApplication 一般不会主动去使用它,但是要知道它是一个 ...
- spring mvc -@RequestMapping注解详解
https://www.cnblogs.com/caoyc/p/5635173.html @RequestMapping参数说明: value:定义处理方法的请求的URL地址(重点): method: ...
最新文章
- 2022-2028年中国复合软管行业市场行情动态及发展趋向分析报告
- std:forward 完美转发
- 【机器学习基础】不会时间序列预测?不要紧,大神来教你
- 【已解决】applicationContext.xml cannot be opened because it does not exist
- Java修炼之路——基础篇——数据类型
- python 图片转视频ffmpeg_python图片转视频(opencv),ffmpeg压缩视频
- delphi中Record 和Packed Record的区别
- pythonlocust使用方法_python locust 性能测试:locust安装和一些参数介绍
- Effective_STL 学习笔记(二)小心对 “容器无关代码” 的幻想
- Java电子发票管理系统
- Jmeter使用csv文件读取测试数据
- 谷歌广告账户钱花不出去的原因
- 实话谈扶贫第一篇——教育扶贫
- led灯串怎么摆造型_一种LED轮廓造型灯的制作方法
- Tableau图表 • 排序图(凹凸图)
- [转载]家庭剧院音效再升级HDMI eARC相容未来效能
- 区块链技术助力解决小微企业融资难融资贵问题
- 俄罗斯能源巨头:未来可能需要使用加密货币购买石油
- 模拟黑客思维对网站进行CC压力测试!(二)
- 扫描线+线段树简介 AcWing 248窗内的星星题解
热门文章
- LMS Virtual.Lab二次开发:声学仿真结果导出方法(VBScript、Python)
- ITPUB一周精选2007.11.16
- lisp写标高线_属性块形式的标高标注程序! - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
- C语言中结构体指针出现重定义,C语言结构体指针中包含结构体指针
- [渝粤教育] 中国地质大学 机械原理 复习题 (2)
- 01【AutoSAR 】- Partial Networking
- 计算机的应用 教案,计算机应用基础教案范文
- 常微分方程(ODE)的数值计算方法
- Visual Studio Code(VS code) python代码无法进行变量和函数跳转
- c语言中求定积分矩形法,C语言使用矩形法求定积分的通用函数