spring缓存cache怎么用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关spring缓存cache怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。spring缓存cache的使用在spring配置文件中添
千家信息网最后更新 2025年11月07日spring缓存cache怎么用
这篇文章将为大家详细讲解有关spring缓存cache怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
spring缓存cache的使用
在spring配置文件中添加schema和spring对缓存注解的支持:
在spring配置文件中加入缓存管理器:
然后在代码的service的impl层加上如下注解即可把数据缓存起来:
@Cacheable(value="bannerCache")
其中@Cacheable表示spring将缓存该方法获取到的数据,(缓存是基于key-value方式实现的),key为该方法的参数,value为返回的数据,当你连续访问该方法时你会发现只有第一次会访问数据库. 其他次数只是查询缓存.减轻了数据库的压力.
当更新了数据库的数据,需要让缓存失效时,使用下面的注解:
这个注解表示让appCache缓存的所有数据都失效。
@CacheEvict(value = "appCache", allEntries = true)
springcache配置缓存存活时间
Spring Cache @Cacheable本身不支持key expiration的设置,以下代码可自定义实现Spring Cache的expiration,针对Redis、SpringBoot2.0。
直接上代码:
@Service@Configurationpublic class CustomCacheMng{ private Logger logger = LoggerFactory.getLogger(this.getClass()); // 指明自定义cacheManager的bean name @Cacheable(value = "test",key = "'obj1'",cacheManager = "customCacheManager") public User cache1(){ User user = new User().setId(1); logger.info("1"); return user; } @Cacheable(value = "test",key = "'obj2'") public User cache2(){ User user = new User().setId(1); logger.info("2"); return user; } // 自定义的cacheManager,实现存活2天 @Bean(name = "customCacheManager") public CacheManager cacheManager( RedisTemplate, ?> redisTemplate) { RedisCacheWriter writer = RedisCacheWriter.lockingRedisCacheWriter(redisTemplate.getConnectionFactory()); RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofDays(2)); return new RedisCacheManager(writer, config); } // 提供默认的cacheManager,应用于全局 @Bean @Primary public CacheManager defaultCacheManager( RedisTemplate, ?> redisTemplate) { RedisCacheWriter writer = RedisCacheWriter.lockingRedisCacheWriter(redisTemplate.getConnectionFactory()); RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig(); return new RedisCacheManager(writer, config); }}关于"spring缓存cache怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
缓存
数据
注解
代码
数据库
方法
篇文章
配置
文件
更多
支持
不错
实用
全局
内容
压力
参数
只是
只有
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库分表怎么查历史数据
汕头软件开发学费
dna数据库有啥用啊
pop 服务器
数据库查出表的最后一行
php 服务器安全问题
以下哪个不是广义上的数据库
计算机网络技术冲突定义
各单位领导高度重视网络安全
数据库中sex什么意思
数据库服务器端
阜阳电商软件开发需要多少钱
163魔兽数据库
运维可以做软件开发嘛
函授计算机网络技术学哪些课程
网络技术最好的国家
数据库设计与应用是什么
泉州大学生网络安全攻防比赛
大数据分析服务器介绍
数据集成对异构数据库
实时数据库的压缩问题
网络安全测评机构是什么
元宇宙和服务器的关系
网络技术工资高吗
广州狮途互联网科技
贵州北斗校时服务器云空间
表格里的数据库在哪里
金融会计收录数据库
西城区正规软件开发技术指导
新乡医学院网络安全