有谁知道 eclipselink 需要刷新其共享缓存的确切时间?我已经直接对数据库进行了更改。由于用 java 编写的应用程序使用 eclipselink 进行持久性,因此直接对数据库所做的更改仅在一段时间后才会反映。这是因为 eclipselink 在缓存值时共享缓存。
问问题
247 次
1 回答
2
这取决于您的配置。从 EclipseLink用户指南:
默认情况下,实体保留在共享缓存中,直到它们被显式删除或垃圾收集。
这还进一步取决于您的缓存类型和大小配置。
第一个链接说明了如何通过使用注释的expiry
或expiryTimeOfDay
属性来设置特定实体的过期时间@Cache
,例如@Cache(expiry = 600000)
。我认为没有可以应用于所有实体的全局设置,但这可能会有所帮助:Configuring Cache Expiration at the Project Level
或者,如果您希望数据过时,您可以显式刷新缓存。
于 2013-06-06T02:09:08.233 回答