使用 Spring 引导和 Hazelcast 的方法缓存.如何以及在何处指定刷新/重新加载间隔



我意识到@Cacheable注释可以帮助我缓存特定方法调用的结果,如果没有更改参数等,则后续调用将从缓存中返回。

有一个要求,我试图最大限度地减少对数据库的调用次数,从而加载整个表。但是,我想每天重新加载这些数据,以确保我的缓存不会与数据库上的基础数据不同步。

如何指定这样的重新加载/刷新间隔。

我正在尝试使用弹簧启动和榛子。我看到的所有示例都谈到了在映射等的配置文件上指定 LRU LFU 等策略,但在方法级别没有任何内容。我不能使用 LRU/LFU 等逐出策略,因为我打算每 x 小时或 x 天重新加载整个表数据。

请帮助或指出我任何此类实现或文档等。

Spring @Cacheable在方法级别不支持这种策略。例如,请参阅可缓存操作的代码。

如果您使用 hazelcast 作为 spring 的缓存提供程序,则可以使用相应的 IMap 从 Hazelcast实例中显式逐出元素或加载数据。

最新更新