我正在寻找类似于 RemovalListener/RemovalNotification 的东西 - 但通知缓存中的值何时被修改。通知将包括旧值以及刚刚添加的新值。
[更新] 我只通过 CaceLoader 填充缓存(加载和重新加载)。缓存元素的“来源”有时是 flakey(远程缓存)。因此,使用替换元素的两个主要原因是:
调试日志以指示从远程源实际检索到的值/时间。这可以在进行远程检索的类中完成。
生成差异,然后可以主动推送到(远程)客户端。例如,通过 blazeDS 发布更改,而不是要求客户端不断“获取”。
应该可以在没有额外通知的情况下通过 reload 方法实现这一点,并在开始获取新值之前获取当前缓存内容,然后比较新值和以前的值 - 然后采取额外的行动。我一直在寻找一种更通用的方法来解耦修改通知。
谢谢。