Java本地缓存CaffeineCache集成

 2023-09-15 阅读 15 评论 0

摘要:首先导入需要的依赖: <dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId></dependency> 然后是配置文件: @Configuration @EnableCaching @Slf4j public class

首先导入需要的依赖:

 <dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId></dependency>

然后是配置文件:

@Configuration
@EnableCaching
@Slf4j
public class CaffeineCacheConfig {/*** CacheManager实现类* @return*/@Bean("cacheManager")public CacheManager cacheManager() {SimpleCacheManager cacheManager = new SimpleCacheManager();// 缓存集合ArrayList<CaffeineCache> caches = new ArrayList<>();// 对缓存key属性做设置caches.add(new CaffeineCache("users-cache",Caffeine.newBuilder()// 指定Key下的最大缓存数据量.maximumSize(1000)// 最后一次访问之后 120秒 过期.expireAfterAccess(120, TimeUnit.SECONDS).build()));cacheManager.setCaches(caches);return cacheManager;}}

最后集成到controller层:

// 修改的情况
@CacheEvict(cacheNames = "users-cache", allEntries = true)@PostMappingpublic ResponseResult save(@Validated(InsertValidationGroup.class)@RequestBody UserDTO userDTO) {int save = userService.save(userDTO);if (save == 1) {return ResponseResult.success("新增成功!");} else {return ResponseResult.failure(ErrorCodeEnum.INSERT_FAILURE);}}// 查询的情况
@Cacheable(cacheNames = "users-cache")@GetMappingpublic ResponseResult<PageResult> query({
.......................省略}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/61959.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息