我是弹簧框架的新手。我想从数据库中提取数据并在应用程序上下文中设置该数据。每当我们根据数据更改数据库中的数据时,都应该刷新。请帮助我找出最好的方法。
问问题
503 次
1 回答
0
如果您想在数据库更改时刷新应用程序上下文中的数据,我有一个坏消息要告诉您——这实际上是不可能的(或者至少是简单直接的)。
大多数通用数据库在某种意义上是被动的,它们不允许您订阅特定事件(如数据更新),因为这将需要在数据库和订阅的应用程序之间增加一些 IPC,而这通常不是数据库的主要目的。
无论如何,这样的事情将是特定于数据库的,所以如果你真的想要这个 - 最好检查你的数据库的 api 文档 - 你有机会在那里找到做这样的事情的方法。同样,这可能不是非常灵活和健壮的解决方案。
在一般情况下,您走 3 条路线之一:
- 每次需要时从数据库中提取数据
- 每次需要时从数据库中提取数据,但添加一些缓存
- 实施将管理数据的应用程序级组件。请求数据时 - 如果缓存中缺少数据,它将从数据库中获取数据。当数据更新时,它将在缓存和数据库中更新。
如果您的数据不仅可以从您的应用程序更新,那么 (1) 和 (2) 几乎是您唯一的选择。(3) 如果数据只能从您的应用程序中更新,并且数据量足够小以证明其缓存是合理的,那么 (3) 是一种好方法。
希望这会有所帮助。
于 2013-08-08T22:01:13.620 回答