0

我创建了一个配置了 refreshAfterWrite 的咖啡因 AsyncLoadingCache。对于给定的键,如果一个值已经加载到缓存中并且在刷新期间出现错误,则该键/值将被删除。而不是这个,我想保留旧值并更新过期时间戳,这样它就不会立即再次刷新。有没有办法配置这种行为?

4

1 回答 1

0

您可以实现CacheLoader.reload(key, oldValue)AsyncCacheLoader.asyncReload(key, oldValue)。当发生错误时,它不应该删除旧值,但可以在下一次调用时再次触发。如果结果解析为null,则应将其删除。由于提供了旧值,如果返回,它将根据需要重置时间戳。

于 2022-01-06T18:11:31.150 回答