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();
}
相关推荐
刘~浪地球18 小时前
数据库与缓存--分库分表实战指南
网络·数据库·缓存
云烟成雨TD19 小时前
Spring AI 1.x 系列【26】结构化输出执行流程
java·人工智能·spring
Slow菜鸟19 小时前
Spring Cloud 教程(四) | OpenFeign 的作用
后端·spring·spring cloud
Rick199319 小时前
LangChain和spring ai是什么关系?
人工智能·spring·langchain
深蓝电商API20 小时前
Redis在海淘场景下的缓存策略设计
数据库·redis·缓存·海淘
杰克尼20 小时前
redis(day04-达人探店)
数据库·redis·缓存
阿丰资源20 小时前
java项目(附资料)-基于SpringBoot+MyBatisPlus+MySQL+Layui的药品管理系统
java·spring boot·mysql
indexsunny20 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的深度探讨
java·数据库·spring boot·安全·微服务·监控·面试实战
宸津-代码粉碎机21 小时前
Spring Boot 4.0 实战技巧全解析
java·大数据·spring boot·后端·python
aq55356001 天前
Laravel10.X核心特性全解析
java·开发语言·spring boot·后端