caching - Eclipselink缓存问题(一个数据库两个系统)

标签 caching jpa jpa-2.0 eclipselink

我有两个在线系统正在运行。他们都在使用eclipselink。

第一个系统是管理系统,其中管理第二个应用程序的价格。
第二个系统是一个网上商店,顾客可以在那里购买商品。
它们都运行在同一台服务器上并使用相同的 oracle 数据库。

为了提供快速访问,价格对象由 eclipselink 缓存。

如果我更改管理系统中的价格值,商店系统应刷新其缓存以获得新的价格值。
解决这个问题的最佳方法是什么?

最佳答案

我有一个类似的问题,但它与用户凭据有关。

1)在店端配置缓存

您可以将 EclipseLink 缓存配置为过期。您可以将其配置为具有
TimeToLive 或过期值。例如,您可以将价格配置为在 1、5 或 10 分钟后到期。不是即时的,但非常快速且易于实现。查看 EclipseLink 中的 @Cache 注释。这就是我最终使用的。

2) 让管理应用程序与商店应用程序通信

可能值得创建一个位于商店端的 Web 服务,该服务在调用时将使缓存无效。有点脆弱,但可能是必要的,具体取决于您的设置。

3)使用缓存协调

EclipseLink 具有缓存协调功能。我从未使用过它,但它看起来对你来说可能是最好的策略。您可以查看 EclipseLink 文档以获取更多信息。

关于caching - Eclipselink缓存问题(一个数据库两个系统),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282357/

相关文章:

java - 如何在具有两个相同日期的查询之间使用 EJBQL?

java - Hibernate 参数值 [568903] 与预期类型不匹配 [java.lang.Long]

java - 存储在 Hibernate 二级缓存中的对象是否保证为 "immutable"?

node.js - API 网关授权者 - IAM 策略不缓存

java - UserTransaction 和 EntityTransaction 的区别

java - 如何使用查询从存储库读取实体的特定变量?

jpa-2.0 - 使用 JPA 加载懒惰 vs 急切加载

java - @GenericGenerator(name = "generator", strategy = "foreign") 到标准 JPA 2

PHP APC 缓存还是不缓存?

caching - spring4.3.x如何配置 'entityCacheStrategies'