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();
}
相关推荐
smileNicky22 分钟前
Spring AI系列之对话记忆与工具调用指南
人工智能·python·spring
weixin_7042660528 分钟前
Spring整合MyBatis(一)
java·spring·mybatis
A101693307132 分钟前
maven导入spring框架
数据库·spring·maven
qqacj1 小时前
如何使用Spring Boot框架整合Redis:超详细案例教程
spring boot·redis·后端
indexsunny1 小时前
互联网大厂Java面试实录:从Spring Boot到微服务架构的深度剖析
java·spring boot·redis·kafka·microservices·互联网大厂·面试经验
惊讶的猫2 小时前
Springboot 组件注册 条件注解
java·spring boot·后端
爆炒西瓜@2 小时前
springboot内存定位,提取数据库账号密码
数据库·spring boot·后端
翻斗包菜2 小时前
Nginx 四大核心功能实战:正向代理 + 反向代理 + 缓存 + Rewrite 正则
运维·nginx·缓存
zzz84152 小时前
Spring Boot 3.x 引入springdoc-openapi (内置Swagger UI、webmvc-api)
spring boot·后端·ui
StackNoOverflow3 小时前
Spring核心知识精讲:IoC容器、Bean作用域生命周期与AOP(第二部分)
java·后端·spring