我想知道是否有一种内置方法可以知道是否从 SpringBoot 缓存返回对象。我正在使用 SpringBoot 2.2.2 和 Caffeine 2.8.0。我正在创建一个咖啡因豆,如下所示:
@Bean
public Caffeine caffeineConfig() {
return Caffeine.newBuilder().maximumSize(1000).expireAfterWrite(4, TimeUnit.HOURS);
}
我注意到构建器有一个 removeListener 方法。我需要的是 objectServedFromCacheListener 之类的东西。换句话说,我希望在提供对象或从缓存返回对象时得到通知。鉴于不存在这样的方法,我如何知道何时从缓存中返回对象?我可以使用服务方法调用时间,预计真正的调用会花费几秒钟,如果方法在不到一秒的时间内返回,则意味着该对象是从缓存中返回的。但这似乎很尴尬。我有一个内部分析机制,基于它我可以确定是否调用了服务方法。但我期待有一个内置的方式。在那儿?