有人知道eclipselink刷新共享缓存的确切时间吗?我直接对数据库进行了更改。由于用java编写的应用程序使用eclipselink进行持久化,因此直接对数据库所做的更改只有在经过一定时间后才会反映出来。这是因为eclipselink在缓存值时使用了共享缓存。
zqdjd7g91#
这取决于您的配置。从eclipselink用户指南:默认情况下,实体保留在共享缓存中,直到它们被显式删除或垃圾回收。这还取决于缓存类型和大小配置。第一个链接说明如何使用 expiry 或者 expiryTimeOfDay 的属性 @Cache 注解,例如。 @Cache(expiry = 600000) . 我不认为有一个全局设置可以应用于所有实体,但这可能会有所帮助:在项目级别配置缓存过期或者,如果希望数据过时,可以显式刷新缓存。
expiry
expiryTimeOfDay
@Cache
@Cache(expiry = 600000)
1条答案
按热度按时间zqdjd7g91#
这取决于您的配置。从eclipselink用户指南:
默认情况下,实体保留在共享缓存中,直到它们被显式删除或垃圾回收。
这还取决于缓存类型和大小配置。
第一个链接说明如何使用
expiry
或者expiryTimeOfDay
的属性@Cache
注解,例如。@Cache(expiry = 600000)
. 我不认为有一个全局设置可以应用于所有实体,但这可能会有所帮助:在项目级别配置缓存过期或者,如果希望数据过时,可以显式刷新缓存。