首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apach Ignite ClientCache::putIfAbsent实际上不更新缓存?

Apach Ignite ClientCache::putIfAbsent实际上不更新缓存?
EN

Stack Overflow用户
提问于 2022-01-29 14:05:18
回答 1查看 62关注 0票数 0
代码语言:javascript
复制
cache.putIfAbsent(key, value);
cache.get(key).method();

给定的代码在第二行产生NPE。下面是我如何创建缓存:

代码语言:javascript
复制
ClientCacheConfiguration cacheConfig = new ClientCacheConfiguration().setCacheMode(CacheMode.REPLICATED)                                                                                .setName("POSITION");
cache = igniteClient.getOrCreateCache(cacheConfig);
EN

回答 1

Stack Overflow用户

发布于 2022-04-11 22:23:22

put(1, "foo"); get(1)返回null的一些边缘情况是可能的。这是令人困惑的,我知道-分布式系统经常是。

根本问题总是缓存设置。点燃历史上有几个默认设置,它们倾向于性能而不是一致性:

当备份节点尚未更新时,

而滞后。

虽然这两个选项都有它们完全有效的用例,但您可能希望设置writeSynchronizationMode=FULL_SYNCreadFromBackup=false,以增强一致性并避免混乱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70906215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档