Apache点燃了关于setStoreKeepBinary和setBackups的缓存配置

时间:2018-05-01 07:53:19

标签: apache ignite

我正在使用我的缓存的bellow配置:

    CacheConfiguration<String, TestInfo> cacheCfg =
            new CacheConfiguration<>("TestInfoCache");
    cacheCfg.setCacheMode(CacheMode.REPLICATED);
    cacheCfg.setStoreKeepBinary(true);
    cacheCfg.setAtomicityMode(ATOMIC);
    cacheCfg.setBackups(1);

我只是使用缓存做一些简单的get和put工作,如果我将setStoreKeepBinary设置为true或false,我已经阅读了doc:https://apacheignite.readme.io/docs/binary-marshaller 似乎这个标志用于缓存存储,我应该打开它还是打开它不适合高流量?

另外,对于setBackups,我有3个服务器节点,为了保证数据的安全性和高性能,适合的数字,1或3,我不确定, 感谢。

1 个答案:

答案 0 :(得分:1)

setStoreKeepBinary标志的虚假值可以在某些情况下简化存储实现,但由于二进制对象的其他序列化和反序列化,它可能会导致性能下降。您还需要在所有节点上都有键和值类,因为在调用存储时,二进制文件将被反序列化。

因此,如果您已经拥有表中某些列的数据库,您显然无法使用setStoreKeepBinary = true,但是如果您从头开始创建CacheStore并且您没有其他应用程序将直接从DB访问数据(因为它将以二进制格式存储,所以以二进制格式存储对象是有意义的,因为它在大多数情况下会表现出更好的性能。