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();
}
相关推荐
weixin_439706257 分钟前
flowable 6.8 + flowable ui + spring boot的例子
spring boot·后端·ui
Go高并发架构_王工25 分钟前
Redis未来展望:Redis 7.0新特性与技术发展趋势
数据库·redis·缓存
程序媛徐师姐29 分钟前
Java基于SpringBoot的在线政务服务中心,附源码+文档说明
java·spring boot·java+在线政务服务中心·在线政务服务中心·政务服务中心·政务服务·java在线政务服务
幽络源小助理1 小时前
基于SpringBoot+Vue的实验室管理系统源码 | 教育类JavaWeb项目免费下载 – 幽络源
vue.js·spring boot·后端
之歆1 小时前
Spring AI Alibaba 从入门到进阶实战-笔记
人工智能·笔记·spring
刘一说1 小时前
JDK、Maven、Spring Boot 各版本兼容性问题
java·spring boot·maven
qq_455760852 小时前
redis - 持久化
数据库·redis·缓存
其美杰布-富贵-李2 小时前
Spring Data Redis + Redisson 学习笔记
redis·学习·spring
自在极意功。2 小时前
Spring 中 Bean 的生命周期
java·spring·bean生命周期
qq_455760852 小时前
redis - 事务
数据库·redis·缓存