Caffeine - Caches - Removal

  • 移除
    • 明确移除
    • 移除监听

移除

术语:

  • 剔除是指基于剔除策略的移除
  • 无效只是被调用者手工移除
  • 移除是剔除和无效的后续操作

明确移除

在任何时候,您都可以显式的使缓存条目无效,而不必等待条目被剔除。

// individual key
cache.invalidate(key)
// bulk keys
cache.invalidateAll(keys)
// all keys
cache.invalidateAll()

移除监听

Cache<Key, Graph> graphs = Caffeine.newBuilder().removalListener((Key key, Graph graph, RemovalCause cause) ->System.out.printf("Key %s was removed (%s)%n", key, cause)).build();

您可以通过*Caffeine.removalListener(RemovalListener)*为缓存指定移除监听器,以便在条目移除时执行某些操作。RemovalListener会接收移除条目的key、value和RemovalCause。

移除监听器会通过Executor异步执行。默认的执行器是ForkJoinPool.commonPool(),您可以通过Caffeine.executor(Executor)重写执行器。当监听操作必须与移除操作同步执行时,使用CacheWriter代替。

请注意,移除监听器抛出的所有异常将写入日志(通过Logger)并且被吞掉。

Caffeine - Caches - Removal相关推荐

  1. Caffeine - Caches - Eviction

    Caffeine - Caches - Eviction 剔除策略 基于容量的剔除 基于时间的剔除 基于引用的剔除 剔除策略 Caffeine提供了三种类型的提出方式:基于容量的剔除.基于时间的剔除和 ...

  2. 万字详解本地缓存之王 Caffeine

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来自:r6d.cn/UXR4 概要 Caffeine[1] ...

  3. SpringBoot2.x 官方推荐缓存框架-Caffeine高性能设计剖析

    概要 Caffeine是一个高性能,高命中率,低内存占用,near optimal 的本地缓存,简单来说它是Guava Cache的优化加强版,有些文章把Caffeine称为"新一代的缓存& ...

  4. 据说是“缓存之王”? Caffeine高性能设计剖析

    概要 Caffeine[1]是一个高性能,高命中率,低内存占用,near optimal 的本地缓存,简单来说它是 Guava Cache 的优化加强版,有些文章把 Caffeine 称为" ...

  5. 3万字好文详解本地缓存之王 Caffeine

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 关注订阅号「程序员小乐」,收看更多精彩内容 每日英文 It has not ...

  6. Caffeine Cache~高性能 Java 本地缓存之王

    前面刚说到Guava Cache,他的优点是封装了get,put操作:提供线程安全的缓存操作:提供过期策略:提供回收策略:缓存监控.当缓存的数据超过最大值时,使用LRU算法替换.这一篇我们将要谈到一个 ...

  7. Caffeine 和 Redis 居然可以这么搭,想不到吧!

    作者 | Garnett 来源 | Garnett的Java之路(ID:gh_009246af52d4) 头图 |  CSDN 下载自东方IC 前言 各位可以回顾下上篇来自未来的缓存-Caffeine ...

  8. Spring Boot cache backed guava/caffeine

    为什么80%的码农都做不了架构师?>>>    Spring Boot提供了spring-boot-starter-cache,支持多个缓存实现,如EHCache,Redis,GUA ...

  9. Caffeine一级缓存介绍和应用

    Caffeine介绍 redis和caffeine的区别 相同点就不用说,广义上都是缓存的方式.咱们就说说不同. redis是将数据存储到内存里:caffeine是将数据存储在本地应用里 caffei ...

最新文章

  1. java实现MD5加密
  2. 【通知】《深度学习之图像识别》再版工作启动,欢迎指导和提出建议
  3. Dreamweaver操作常见的问题
  4. 工具的特性_16 个好用的 Code Review 工具
  5. 给具有SAP传统产品ABAP开发经验的朋友介绍SAP C4C
  6. matlab杜哈梅尔积分,非平稳地震作用下桥梁系统碰撞间隙宽度的概率评价方法与流程...
  7. 四项第一!这款芯片让全世界嫉妒!
  8. SurfaceView的绘图机制
  9. MySQL 8.0 新特性:哈希连接(Hash Join)
  10. 条码标签打印软件连接不了数据库怎么办?
  11. CPDA认证|数据分析师如何撰写数据报告?
  12. RUI手机桌面,开年大更新绝对值得拥有!
  13. 视频转rtmp流及搭建视频流服务器
  14. NVIDIA JETSON TX2上运行yolo3
  15. 变分法和欧拉-拉格朗日方程(E-L equation)
  16. PyTorch中文教程 | (6) torch.nn是什么?
  17. 技术干货 | Linkis实践:新引擎实现流程解析
  18. 最近看到需要去学习的点(持续记录)
  19. STM32实现DAC功能输出音频波形
  20. 2018安防行业发展趋势

热门文章

  1. POI实际应用之POI简介
  2. Latex texstudio+ctex中文解决方案
  3. Web服务器入侵痕迹检测
  4. 图解HIVE页面单跳转化率
  5. java获取环境变量路径/java获取环境变量和系统属性
  6. 天天刷 B 站,了解他们的评论系统是如何设计的吗?
  7. html vh和百分比,css 100vh等于多少?
  8. Windows系统增强优化工具
  9. lombok报错 InvalidDefinitionException: No serializer found
  10. VS2017+VUE创建项目爬坑