spring缓存cache怎么用
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,这篇文章将为大家详细讲解有关spring缓存cache怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。spring缓存cache的使用在spring配置文件中添
千家信息网最后更新 2024年11月29日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安全错误
数据库的锁怎样保障安全
计算机网络技术选修课
毕业论文引用别人数据库
邛崃游戏软件开发
中山网络安全有哪些
净网2022网络安全问答
在数据库系统设计中用什么来定义
电脑软件开发最高工资多少
湖北蓝狐网络技术有限责任公司
啥是网络安全人员
台湾网络安全最新新闻
数据库井号加大括号
参加网络安全会议发言
百万网络技术游戏
h2 数据库 登录
想做软件开发要选什么课目
历代服务器主板型号
深圳飞象美粤网络技术有限公司
大数据分析常用数据库
山东工厂软件开发平台
dell服务器系统安装
常州软件开发定制价格
天津广捷互联网科技有限公司
谷歌在线网络技术中国
呈贡区智能化软件开发市场价
云网络安全产品
跨境电商软件开发论坛
不可替代的企业系统软件开发
大型mc服务器
注意网络安全英语怎么说
网络安全产品那好