SpringCache缓存快速实现注解

SpringCache是一个框架,只需要添加一个注解,就能实现缓存功能的实现,常用的就是Redis的缓存实现

依赖

spring-boot-starter-data-redis 与 spring-boot-starter-cache

@EnableCatching标注在启动类上,开启基于注解的缓存功能

@CachePut 将方法的缓存值放入到缓存中

@CachePut(value="userCache",key="result.id")

@PostMapping("/user")

public User save (@RequestBody User user){

userMapper.insert(user);

return user;

}其中value用于指定缓存内存区域的名称,key缓存数据的key支持SPEL表达式如#user.id #result.id

@Cacheable在方法执行前查看缓存中是否有数据,如果有直接返回,如果没有,将调查方法查询数据库结果返回值放入到缓存中

@Cacheable(value="userCache",key="#id")

@GetMapping("/user/{id}")

public User findById(@PathVariable Long id ){~~~~}

@CacheEvict清理指定缓存

@CacheEvict(value = "userCache", key = "#id") 清理指定key的缓存@DeleteMapping("/user/{id}")

public void deleteById(@PathVariable Long id) {~~~}

@CacheEvict(value = "userCache", allEntries = true) 清理整个value区域所有缓存

@DeleteMapping("/user")

public void deleteAll() {~~~~}

相关推荐
我该如何取个名字3 分钟前
Mac配置Java的环境变量
java·开发语言·macos
kkkkatoq8 分钟前
Java中的锁
java·开发语言
界面开发小八哥21 分钟前
「Java EE开发指南」用MyEclipse开发EJB 3无状态会话Bean(二)
java·ide·java-ee·eclipse·myeclipse
LCY13327 分钟前
spring security +kotlin 实现oauth2.0 认证
java·spring·kotlin
soulermax29 分钟前
数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
java·linux·服务器
我的代码永没有bug35 分钟前
day1-小白学习JAVA---JDK安装和环境变量配置(mac版)
java·学习·macos
王有品1 小时前
Spring MVC 一个简单的多文件上传
java·spring·mvc
Johnny Lnex1 小时前
JVM之经典垃圾回收器
java
那就摆吧1 小时前
数据结构-栈
android·java·c语言·数据结构
XY.散人1 小时前
初识Redis · C++客户端list和hash
数据库·redis·缓存