读取频繁查找的键值对的有效方法

时间:2016-05-23 04:16:53

标签: java design-patterns osgi aem

我在分层数据库(JCR)中存储了一些属性(KV对)。作为业务逻辑的一部分,我必须非常频繁地查找这些键值对,每次我必须调用一个方法来检索持久值。

我正在处理名为CMS的{​​{1}},所有这些键值对都是使用组件创作的,并存储为AEM属性。现在我已经写了一个JCR服务,它将转到该节点并检索与该键对应的值,并且该方法被多次调用。您是否可以建议一种有效的方法来执行此操作,而不是重复调用服务方法来检索这些值? OSGi自动布线?

1 个答案:

答案 0 :(得分:0)

首先,如果您真的需要摆脱(或减少)节点属性读取,我会建议你做两次。您是否因为这种阅读而存在性能问题,或者您还有另一个重要原因?

如果你还想弄乱它,我会建议你下一个配置:

  • 您有一个缓存组件,其中包含此映射以及所有键值对。
  • 你有Listener,它监听节点的更改,其中包含这些数据,并使这种事件的缓存无效(因此下次访问时将重建缓存)。

有各种各样的缓存实现,或者您可以使用简单的映射。