java - Apache ignite 关于 setStoreKeepBinary 和 setBackups 的缓存配置

标签 java ignite

我的缓存使用以下配置:

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

我只是使用缓存做一些简单的获取和放置工作,我应该 setStoreKeepBinary true 还是 false,我已阅读文档:https://apacheignite.readme.io/docs/binary-marshaller 看来这个标志用于缓存存储,我应该打开它还是如果它打开将不适合高流量?

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

最佳答案

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

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

关于java - Apache ignite 关于 setStoreKeepBinary 和 setBackups 的缓存配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50113097/

相关文章:

java - 我如何知道对象来自哪里,session缓存还是sessionFactory缓存

Java:如何在 Mac OS X 中创建新文件夹

java - 如何将自己的.class 添加到已编译的.jar 文件中?

java - 安卓相机,焦点 slider

java - Apache 点燃: How to get all items from named cached

java - 将 ubuntu 升级到 19.04 后无法运行 apache ignite

ignite - 了解 Apache Ignite 的分布式连接

java - AbstractProcessor,如何声明哪个目标是另一个注释的注释?

spring-boot - Spring boot 2.1 + Ignite存储库2.7.0 - 使用@Query或查询方法时解决Spring Data Commons问题的解决方法

kubernetes - 使用 TcpDiscoveryKubernetesIpFinder 在 kubernetes 集群中无法发现 Ignite