1

有谁知道 eclipselink 需要刷新其共享缓存的确切时间?我已经直接对数据库进行了更改。由于用 java 编写的应用程序使用 eclipselink 进行持久性,因此直接对数据库所做的更改仅在一段时间后才会反映。这是因为 eclipselink 在缓存值时共享缓存。

4

1 回答 1

2

这取决于您的配置。从 EclipseLink用户指南

默认情况下,实体保留在共享缓存中,直到它们被显式删除或垃圾收集。

这还进一步取决于您的缓存类型和大小配置。

第一个链接说明了如何通过使用注释的expiryexpiryTimeOfDay属性来设置特定实体的过期时间@Cache,例如@Cache(expiry = 600000)。我认为没有可以应用于所有实体的全局设置,但这可能会有所帮助:Configuring Cache Expiration at the Project Level

或者,如果您希望数据过时,您可以显式刷新缓存

于 2013-06-06T02:09:08.233 回答