- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Guava LoadingCache,其驱逐策略设置为expireAfterWrite()。我还使用以下方法使访问条目无效:
v = cache.getIfPresent( k );
if( v != null ) {
cache.invalidate( k );
}
有没有办法添加一个 RemovalListener,只有在写入超时后条目被自动逐出时才会触发该监听器?从文档来看,每次删除条目时都会调用 RemovalListener。
最佳答案
是的,任何时候删除任何条目都会调用 RemovalListener
——但是 RemovalListener
将接收一个 RemovalNotification
对象,其中包括原因,您可以使用它来确定条目是如何被删除的。
CacheBuilder.newBuilder()
.removalListener(new RemovalListener<Foo, Bar>() {
public void onRemoval(RemovalNotification<Foo, Bar> notification) {
if (notification.getCause() == RemovalCause.EXPIRED) {
// we only care about these removals
}
}
})
.build();
关于java - 仅用于自动驱逐事件的 RemovalListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318277/
我正在使用 Guava LoadingCache,其驱逐策略设置为expireAfterWrite()。我还使用以下方法使访问条目无效: v = cache.getIfPresent( k ); if
我想知道 RemovalListener Guava 缓存的缓存在已删除条目的键上同步。据我了解,Guava 缓存是建立在 SynchronizedHashMap 之上的。如果我对缓存的 get 进行
我使用以下参数创建了一个缓存: cacheTempFiles = CacheBuilder.newBuilder().maximumSize(250).expireAfterWrite(15, Tim
我有一个 Guava Cache(或者更确切地说,我正在从 MapMaker 迁移到 Cache)并且值代表长期运行工作。我想将 expireAfterAccess 行为添加到缓存中,因为这是清理缓存
我最近开始使用 LoadingCache 类,但遇到了一些意外行为。我现在知道解决方案了,但我发布了这个问题,以便其他人可以从中学习。 基本上,我在缓存中为某个键放置了一个非空值。关键是值在文件中的位
我使用 Guava 缓存支持编写以下代码来测试缓存过期。在下面的代码中,我创建了一个缓存,从键 11000 到 30000 向其中添加了 20 个条目,经过一些 sleep 遍历后缓存中存在键并搜索两
我已经创建了一个基于 Guava CacheBuilder 的缓存,如果未写入 key ,缓存将在 5 秒内到期。向其添加了一个 removalListener,它打印被删除的键/值对。我观察到的是监
我是一名优秀的程序员,十分优秀!