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常用注解详解相关推荐

  1. spring mvc 常用注解详解

    @Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model , ...

  2. Spring定时任务 - @Schedule注解详解

    一.@Schedule注解一览 @Scheduled注解共有8个属性(其中有3组只是不同类型的相同配置)和一个常量CRON_DISABLED,源码如下: /*** 标记要调度的方法的注释. 必须准确指 ...

  3. Spring中@Value注解详解

    在spring项目中必不可少的就是读取配置文件,那么读取配置文件就有两种方式.一种就是使用Spring中@Value注解,还有一种是使用SpringBoot中的@ConfigurationProper ...

  4. Java | SpringBoot 常用注解详解

    1 概述 IOC 是Spring 最为重要的功能之一,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式. 简言之,注解本身没有 ...

  5. SpringMVC常用注解详解

    先说扫描注解 <context:component-scan base-package = "" /> component-scan 默认扫描的注解类型是 @Compo ...

  6. Spring框架@PostConstruct注解详解

    文章目录 前言 业务背景 通过依赖查找实现 `@PostConstruct`注解实现 @PostConstruct注解原理 `@PostConstruct`注解 `@PostConstruct`注解源 ...

  7. java jpa注解哪个包好,Spring Data JPA 中常用注解详解

    一.java对象与数据库字段转化 @Entity:标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表 @Table:设置实体类在数据库所对应的表名 @Id:标识类里所在变量为主键 @Gen ...

  8. springboot常用注解详解

    在springboot中,经常会用到一些注解,它们各自代表着什么呢?在这个属于我们的节日里,快来了解一下吧! 1.@SpringBootApplication 一般不会主动去使用它,但是要知道它是一个 ...

  9. spring mvc -@RequestMapping注解详解

    https://www.cnblogs.com/caoyc/p/5635173.html @RequestMapping参数说明: value:定义处理方法的请求的URL地址(重点): method: ...

最新文章

  1. 2022-2028年中国复合软管行业市场行情动态及发展趋向分析报告
  2. std:forward 完美转发
  3. 【机器学习基础】不会时间序列预测?不要紧,大神来教你
  4. 【已解决】applicationContext.xml cannot be opened because it does not exist
  5. Java修炼之路——基础篇——数据类型
  6. python 图片转视频ffmpeg_python图片转视频(opencv),ffmpeg压缩视频
  7. delphi中Record 和Packed Record的区别
  8. pythonlocust使用方法_python locust 性能测试:locust安装和一些参数介绍
  9. Effective_STL 学习笔记(二)小心对 “容器无关代码” 的幻想
  10. Java电子发票管理系统
  11. Jmeter使用csv文件读取测试数据
  12. 谷歌广告账户钱花不出去的原因
  13. 实话谈扶贫第一篇——教育扶贫
  14. led灯串怎么摆造型_一种LED轮廓造型灯的制作方法
  15. Tableau图表 • 排序图(凹凸图)
  16. [转载]家庭剧院音效再升级HDMI eARC相容未来效能
  17. 区块链技术助力解决小微企业融资难融资贵问题
  18. 俄罗斯能源巨头:未来可能需要使用加密货币购买石油
  19. 模拟黑客思维对网站进行CC压力测试!(二)
  20. 扫描线+线段树简介 AcWing 248窗内的星星题解

热门文章

  1. LMS Virtual.Lab二次开发:声学仿真结果导出方法(VBScript、Python)
  2. ITPUB一周精选2007.11.16
  3. lisp写标高线_属性块形式的标高标注程序! - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  4. C语言中结构体指针出现重定义,C语言结构体指针中包含结构体指针
  5. [渝粤教育] 中国地质大学 机械原理 复习题 (2)
  6. 01【AutoSAR 】- Partial Networking
  7. 计算机的应用 教案,计算机应用基础教案范文
  8. 常微分方程(ODE)的数值计算方法
  9. Visual Studio Code(VS code) python代码无法进行变量和函数跳转
  10. c语言中求定积分矩形法,C语言使用矩形法求定积分的通用函数