首先导入需要的依赖:
<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(){
.......................省略}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态