Infinispan+kyro/Google Protocol Buffers 实现空间和时间效率更高的序列化?

发布于 2024-11-28 09:45:00 字数 247 浏览 4 评论 0原文

如果我理解正确的话,Infinispan/JBoss Cache 使用Java 自己的序列化机制,该机制可能很慢并且占用相对较多的存储空间。我一直在寻找可以实现以下目标的替代方案:

  1. 自动缓存管理,换句话说,更频繁使用的对象会自动加载到内存中
  2. 更高效的序列化(可能是对象 --> 紧凑的二进制存储)。主要目标是在不牺牲太多性能的情况下减少磁盘/内存空间消耗

是否有一个框架或库可以同时实现这两个目标?

If I understand correctly, Infinispan/JBoss Cache uses Java's own serialization mechanism, which can be slow and takes relatively more storage space. I have been looking for alternatives which can achieve the following:

  1. Automatic cached management, in other words objects that are used more frequently are automatically loaded into memory
  2. More efficient serialization (perhaps object --> compact binary stores). The primary goal is less disk/memory space consumption without sacrificing too much performance

Is there a framework or library that achieves both?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世界如花海般美丽 2024-12-05 09:45:00

JBoss Cache 确实使用了 Java 序列化,但 Infinispan 没有。相反,它使用 JBoss Marshalling 来提供微小的有效负载和流捕获。如果您在 Infinispan 中启用 storeAsBinary,它将以其编组形式存储 Java 对象。

回复 1. 尚未出现在这两种产品中。
Re 2. 在 Infinispan 中使用 storeAsBinary 支持。更多信息请参见 https://docs.jboss.org/author/display/ISPN/Marshalling< /a>

顺便说一句,如果这不能说服您,您可以随时让 Protobufs 生成您需要的 byte[],然后将其粘贴到 Infinispan 中。

JBoss Cache did use Java Serialization but Infinispan does not. Instead it uses JBoss Marshalling to provide tiny payloads and catching of streams. If you enable storeAsBinary in Infinispan, it will store Java objects in their marshalled form.

Re 1. Not in either products yet.
Re 2. Supported in Infinispan using storeAsBinary. More info in https://docs.jboss.org/author/display/ISPN/Marshalling

Btw, if this does not convince you, you can always let Protobufs generate the byte[] that you need and you can stick it inside Infinispan.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文