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。

相关推荐
小灰灰__10 分钟前
IDEA加载通义灵码插件及使用指南
java·ide·intellij-idea
夜雨翦春韭13 分钟前
Java中的动态代理
java·开发语言·aop·动态代理
程序媛小果34 分钟前
基于java+SpringBoot+Vue的宠物咖啡馆平台设计与实现
java·vue.js·spring boot
追风林39 分钟前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
芒果披萨1 小时前
El表达式和JSTL
java·el
duration~2 小时前
Maven随笔
java·maven
zmgst2 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
跃ZHD2 小时前
前后端分离,Jackson,Long精度丢失
java
blammmp2 小时前
Java:数据结构-枚举
java·开发语言·数据结构
暗黑起源喵2 小时前
设计模式-工厂设计模式
java·开发语言·设计模式