SpringCache--缓存框架 ----苍穹外卖day7

目录

简介

​快速入门

引入依赖

常用注解​

使用步骤

1.开启缓存注解

[2. @Cacheable注解](#2. @Cacheable注解)


简介

快速入门

引入依赖

常用注解

使用步骤

1.开启缓存注解

2. @Cacheable注解

该注解仅用于查询操作,增删改需要使用下一个注解

@Cacheable

先进行缓存查询,如果为空,则进行方法查询,并将结果进行缓存;如果缓存中有数据,则直接使用缓存数据;该注解有多个属性如下:

cachenames/value:指定缓存组件的名字,将方法的返回值结果放在哪个缓存中,是数组的方式,可以指定 多个缓存。

key:用key来指定缓存数据的key,可以使用SpEl表达式;

keyGenerator:key的生成器,可以自己指定key的生成器组件id,和key属性二选一使用

cacheManager:指定缓存管理器,或者cacheResolver指定获取解析器二者二选一

condition:执行符合条件的情况下才缓存

unless:否定缓存;当unless指定的条件为true,方法的返回值就不会被缓存,可以获取到结果进行判断;unless="#result==null"

sync:是否使用异步缓存,默认为false

前两个是最常用的,指定范围

  1. @CacheEvict注解

该注解用于清除缓存,通常用于各种增删改操作以后。因为缓存的数据没有更新,需要从数据库重新查询

通常使用(cacheNames = " ",key = " ")指定清除哪部分的数据。如果想清除全部则把key部分变为 allEntries = true。

相关推荐
AI云原生17 分钟前
在 openEuler 上使用 x86_64 环境编译 ARM64 应用的完整实践
java·运维·开发语言·jvm·开源·开源软件·开源协议
赖small强17 分钟前
【Linux 内存管理】Linux系统中CPU访问内存的完整机制深度解析
linux·缓存·tlb·内存访问·page table
科普瑞传感仪器17 分钟前
航空航天制造升级:机器人高精度力控打磨如何赋能复合材料加工?
java·前端·人工智能·机器人·无人机·制造
q_191328469518 分钟前
基于SpringBoot2+Vue2的宠物上门服务在线平台
java·vue.js·spring boot·mysql·宠物·计算机毕业设计·源码分享
CoderYanger21 分钟前
动态规划算法-两个数组的dp(含字符串数组):42.不相交的线
java·算法·leetcode·动态规划·1024程序员节
小蝙蝠侠26 分钟前
async-profiler 火焰图宽度是否可信?哪些情况下会误导?(深度解析)
java·性能优化
IT_Octopus36 分钟前
java多线程环境下 安全地初始化缓存(避免缓存击穿),同时兼顾性能 的双重检查锁方案
java·spring·缓存
Li_76953244 分钟前
Spring Cloud —— SkyWalking(四)
java·spring cloud·skywalking
while(1){yan}1 小时前
多线程CAS八股文
java·开发语言·面试
zfj3211 小时前
Docker和容器OCI规范的关系
java·docker·eureka