gpt4 book ai didi

java - gemfire 自定义序列化没有帮助

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:43 25 4
gpt4 key购买 nike

我使用 gemfire 作为我的缓存。缓存堆大小远高于 100GB。我发现当我们从客户端将数据放入gemfire缓存中时,它会序列化数据并发送给服务器,并且在服务器上数据以序列化形式存储。问题:

  1. 当我尝试执行任何服务器上函数调用时,它就会开始反序列化数据,这确实非常耗时,有时仅迭代缓存中的对象就需要一个多小时。 (对象数量接近 600 万个)。
  2. 我尝试使用 gemfire 自定义序列化(DataSerializer 类)。所有数据进入缓存后占用的内存量约为 60GB,如果我使用 Java 默认序列化,则占用的内存量是相同的。
  3. 我尝试使用名为 Kryo 的库 https://github.com/EsotericSoftware/kryo这确实有很大帮助,但我仍然不明白为什么 gemfire 序列化对我没有帮助,因为我单独序列化类的每个属性,因此编写类头和任何其他元数据不应该有任何负担。

任何帮助将不胜感激。

最佳答案

您是否考虑过在服务器cache.xml 中使用read-serialized=true 选项?将此属性设置为 true 将允许服务器对缓存的对象执行操作,而无需先反序列化。在 Pivotal documentation 中了解更多相关信息.

关于java - gemfire 自定义序列化没有帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22396122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com