【问题标题】:Hazelcast mapLoad does not update cacheHazelcast mapLoad 不更新缓存
【发布时间】:2018-06-09 11:56:46
【问题描述】:

我正在尝试实现 Hazelcast 查询缓存

MyEntityMapLoader implements ApplicationContextAware, MapLoader<MyEntityMapLoader.CompositeKey, List<BigInteger>> {
    @Inject
    HazelcastInstance hazelcastInstance;
    @Inject
    MyEntityRepository myRepo;
    @PostConstruct
    public void initialize() {
     //initialize map
    }
@Override
    @Transactional
    public Map<CompositeKey, List<BigInteger>> loadAll(Collection<CompositeKey> keys) {
        return buildMap(getAll());
    }

我还从接口 com.hazelcast.core.MapLoader 实现其他方法>

我正在使用 CrudRepository 对 MyEntity 执行 CRUD 操作。在应用程序启动时,缓存被加载并显示最新数据。 当我使用我的 CrudRepo 添加/删除时出现问题,Hazelcast 似乎不知道。我仍然看到旧数据。

【问题讨论】:

    标签: hibernate caching hazelcast hazelcast-imap


    【解决方案1】:

    您正在使用MapLoader,它将项目带入内存,但不会在更改时再次发送出去。

    您需要交换到MapStore,它会按需将项目带入内存,并在更改时再次将它们发送出去。

    MapLoader 提供load(K)MapStore 扩展了 MapLoader 以提供store(K,V)delete(K)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-28
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多