0

我正在使用休眠查询缓存机制将查询结果存储在缓存内存中,并将从缓存中检索。但是如果表中有任何更新,则应该在下一个查询命中表时在缓存中进行更新。在这里,我使用相同的查询,例如从表中选择 *。当我尝试这个时,我得到相同的信息,即使表被提升了。

4

1 回答 1

1

如果对象没有通过休眠更新,休眠将不知道它们,因此查询缓存不会更新。如果您通过休眠进行更新但在不同的应用程序服务器上,那么您需要使用跨集群的分布式缓存。例如 JBoss 树缓存。

如果您无法控制更新在外部发生,但您知道发生的时间/周期,则可以将此查询缓存的 TTL 保持得比这更短,以便休眠在从外部更新条目之前将它们从缓存中逐出。

于 2014-12-22T13:58:38.190 回答