spring 缓存

1.spring缓存注解,可以丢在controller,也可以丢在service,也可以丢在mapper。

2.手动操作缓存使用:

java 复制代码
    @Autowired
    private CacheManager cacheManager;

3.添加缓存

java 复制代码
//添加缓存
@Override
@Cacheable(cacheNames = "test", key = "'test_model' + #id",unless="#result == null") //如果结果为空,不缓存
public TestModel selectByIdCache(Long id) {
    return baseMapper.selectById(id);
}
//等于代码:
@Override
public TestModel selectByIdCache(Long id) {
    TestModel model baseMapper.selectById(id);
    if(model!=null){//如果结果为空,不缓存
    	Cache cache = cacheManager.getCache("test");
    	cache.put("test_model"+id,model);
    }
    return model;
}

4.删除缓存

java 复制代码
//注解删除缓存
@CacheEvict(cacheNames = "test", key = "'test_model' + #bo.id")
@Override
public Boolean updateByBo(TestModelBo bo) {
}
//等于代码:
@Override
public Boolean updateByBo(TestModelBo bo) {
	Cache cache = cacheManager.getCache("test");
    cache.evict("test_model"+bo.getId());
}

5.清空缓存

java 复制代码
//注解清空缓存
@CacheEvict(cacheNames = "test", allEntries = true)
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
}
//等于代码:
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
	Cache cache = cacheManager.getCache("test");
    cache.clear();
}
相关推荐
进击的野人11 分钟前
从AI“说人话”到“说结构话”:Spring AI结构化输出实战解析
人工智能·spring·ai编程
计算机学姐12 分钟前
基于SpringBoot的校园二手交易系统
java·vue.js·spring boot·后端·spring·tomcat·intellij-idea
小胖java25 分钟前
养老院管理系统
java·spring boot
ZHOUPUYU26 分钟前
从缓存到消息队列的全面应用,PHP与Redis深度实战
redis·缓存·php
moxiaoran57531 小时前
使用springboot+flowable实现一个简单的订单审批工作流
java·spring boot·后端
稻草猫.1 小时前
MyBatis-Plus高效开发全攻略
java·数据库·后端·spring·java-ee·mybatis·mybatis-plus
计算机徐师兄2 小时前
Java基于SpringBoot的运动健康小程序【附源码、文档说明】
spring boot·小程序·运动健康·java运动健康小程序·运动健康小程序·java运动健康微信小程序·运动健康微信小程序
计算机学姐2 小时前
基于SpringBoot的网吧管理系统
java·spring boot·后端·spring·tomcat·intellij-idea·mybatis
Boop_wu2 小时前
[Java EE 进阶] SpringBoot 配置文件全解析:properties 与 yml 的使用(1)
java·spring boot·spring·java-ee
ywf12154 小时前
前端的dist包放到后端springboot项目下一起打包
前端·spring boot·后端