【问题标题】:hazelcast writing to 2 cache from 1 mapstorehazelcast 从 1 个 mapstore 写入 2 个缓存
【发布时间】:2019-04-17 00:08:53
【问题描述】:

我在数据库中有一些数据要读入 2 个缓存:
1.整个json代表一行数据
2. 只是用于快速查询的列子集

我有一个 MapStore,用于使用 json 持久化到第一个缓存。我正在考虑在主 json 缓存上使用 EntryListener,因此当我们在那里添加一个值时,条目侦听器将写入另一个缓存。这种方法听起来不错吗?

【问题讨论】:

    标签: java hazelcast distributed-caching


    【解决方案1】:

    据我了解,您有第二张地图仅用于查询目的。您可以在第一张地图上使用Indexes 甚至Continuous Query Cache,而根本不需要第二张地图。

    【讨论】:

    • 连续查询缓存只过滤行而不过滤列,对吗?
    • 没错,在这种情况下这无济于事,但如果您只想返回字段的一个子集,您也可以结合 Predicates 使用 Projections。请记住索引您要查询的字段。 docs.hazelcast.org//docs/3.11/manual/html-single/…
    【解决方案2】:

    是的,听起来不错。请注意,当您在侦听器中执行长时间运行的操作时,最好将 EntryListener 中的逻辑卸载到另一个线程,而不是阻塞 Hazelcast 中的事件线程。

    您也可以考虑使用拦截器:https://docs.hazelcast.org//docs/latest/manual/html-single/index.html#adding-interceptors 同样,如上所述,您还需要为拦截器卸载逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      相关资源
      最近更新 更多