0

我正在尝试使用 ehcache 评估 Terracotta 分布式缓存。我有以下查询。有 20 多个应用程序将使用 TAS 分布式缓存。据我了解,这些应用程序中的每一个都将有一个 L1 缓存,而集群中将有一个 L2 缓存。集群缓存数据面向数据库,该数据库将由我们无权访问的不同应用程序更新。所以我们只从这个数据库中读取。但是数据库更新需要流向缓存。

通过数据库触发器的方式,更新的(仅键)存储在临时表中。在特定的时间间隔内,作业会监视此表并收集缓存中需要过期的键。这是一个单独的批处理作业。

从这里我需要帮助。如何通知 TAS L2 缓存过期/驱逐这些密钥?兵马俑有哪些选择?此到期事件是否会从 L2 流向所有单个应用程序?时差是多少?我不想将到期密钥发送到所有单个应用程序。这可以实现吗?

谢谢您的帮助!

4

1 回答 1

0

也许我遗漏了一些东西,但我不确定你为什么要让这些密钥过期/驱逐,而不是简单地调用 cache.removeAll(keys)。此删除将自动传播到在其本地缓存中具有这些条目的所有 L1 节点。

时间延迟取决于分布式缓存的一致性设置。

于 2012-11-27T13:26:01.633 回答