guava cache 的refreshAfterWrite模式存在无效key的问题记录
问题暴露某个缓存key和对应的value被缓存到guava后,一段时间后该key对应的记录在数据库中被删除;当这个key再次被获取的时候,到达refreshAfterWrite设置时间触发refresh方法, 然后委托给我们自己实现的reload方法,我们的reload方法又调用了load方法来重新刷新该key对应的最新值。那么这个时候问题来了。因为我们知道,如果一个key曾经没有存在过,触发load方法的时候,我们return null,最终guava不会去增加一个key来保存这一对无效键值对。但是
原创
2020-08-27 17:14:55 ·
2535 阅读 ·
0 评论