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();
}
相关推荐
毕设源码-朱学姐几秒前
【开题答辩全过程】以 老年公寓信息管理系统为例,包含答辩的问题和答案
java·spring boot
一 乐3 分钟前
游戏账号交易|基于Springboot+vue的游戏账号交易系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·游戏
u***1373 分钟前
springboot 修复 Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38819)
spring boot·后端·spring
q***71017 分钟前
跨域问题解释及前后端解决方案(SpringBoot)
spring boot·后端·okhttp
v***431710 分钟前
SpringBoot中Get请求和POST请求接收参数详解
java·spring boot·spring
s***117025 分钟前
一、安装Redis(win11环境下)
数据库·redis·缓存
g***866929 分钟前
springboot中配置logback-spring.xml
spring boot·spring·logback
p***q7834 分钟前
SpringBoot实战:高效实现API限流策略
java·spring boot·后端
3***161043 分钟前
【JavaEE】Spring Boot 项目创建
java·spring boot·java-ee
6***v4171 小时前
VScode 开发 Springboot 程序
java·spring boot·后端