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。

相关推荐
num_killer5 小时前
小白的Langchain学习
java·python·学习·langchain
期待のcode5 小时前
Java虚拟机的运行模式
java·开发语言·jvm
程序员老徐5 小时前
Tomcat源码分析三(Tomcat请求源码分析)
java·tomcat
a程序小傲6 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
仙俊红6 小时前
spring的IoC(控制反转)面试题
java·后端·spring
阿湯哥6 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
廋到被风吹走6 小时前
【Spring】Spring Cloud 熔断降级深度解析:从 Hystrix 到 Resilience4j 的演进
spring·spring cloud·hystrix
小楼v6 小时前
说说常见的限流算法及如何使用Redisson实现多机限流
java·后端·redisson·限流算法
与遨游于天地6 小时前
NIO的三个组件解决三个问题
java·后端·nio
fenglllle6 小时前
spring-data-jpa saveall慢的原因
数据库·spring·hibernate