如何手动或在未来的时间戳上逐出 Hazelcast 缓存

how to evict hazelcast caches manually or on a future timestamp

提问人:ayan ahmedov 提问时间:3/19/2021 更新时间:3/19/2021 访问量:557

问:

我在集群的 kubernetes 中运行了 hazelcast。

我想确保,一旦有人更改了一件事,让我们在 PriceCatalog 中说, Hazelcast必须立即(或可配置)所有相关的缓存中被逐出。

想象一下,产品的价格变化将在 24 小时内发生。

等待Time2Live不是一种选择,可能会有时间窗口,旧价格将被打破。

有没有办法在给定的时间戳上逐出缓存? 还是轻松手动逐出所有相关的缓存?

Spring Hazelcast 分布式缓存

评论

0赞 wildnez 3/22/2021
你的问题不清楚。你是说一个缓存中的更改应该触发其他缓存中相关数据的逐出,或者你是说如果数据库中的某些内容发生变化,那么应该触发从 Hazelcast 缓存中逐出数据?在您的示例中,PriceCatalog 在哪里 - 在 Hazelcast 的缓存中还是在数据库中?
0赞 ayan ahmedov 3/27/2021
基本上我想在最后一句话中实现第一个问题:“一种在给定时间戳上驱逐缓存的方法”,即不是time2live的间隔,而是一个具体的时间,有点像开箱即用的未来调度任务

答:

1赞 Nicolas 3/19/2021 #1

除了使用“预缓存”逐出更改中的实体之外,还可以做得更好。

我建议你阅读这篇文章,我解释了如何设置一个始终与数据库同步的缓存