【问题标题】:Infinispan+kyro/Google Protocol Buffers to achieve more space and time efficient serialization?Infinispan+kyro/Google Protocol Buffers 实现更多空间和时间效率的序列化?
【发布时间】:2011-10-21 14:20:33
【问题描述】:
如果我理解正确的话,Infinispan/JBoss Cache 使用 Java 自己的序列化机制,它可能会很慢并且占用相对更多的存储空间。我一直在寻找可以实现以下目标的替代方案:
- 自动缓存管理,换句话说,使用更频繁的对象会自动加载到内存中
- 更有效的序列化(可能是对象 --> 紧凑的二进制存储)。主要目标是在不牺牲太多性能的情况下减少磁盘/内存空间消耗
是否有实现两者的框架或库?
【问题讨论】:
标签:
caching
serialization
storage
infinispan
kryo
【解决方案1】:
JBoss Cache 确实使用了 Java 序列化,但 Infinispan 没有。相反,它使用 JBoss Marshalling 来提供微小的有效负载和流捕获。如果您在 Infinispan 中启用 storeAsBinary,它将以编组形式存储 Java 对象。
Re 1. 还没有在这两种产品中。
Re 2. 在 Infinispan 中使用 storeAsBinary 支持。更多信息https://docs.jboss.org/author/display/ISPN/Marshalling
顺便说一句,如果这不能说服你,你总是可以让 Protobufs 生成你需要的 byte[],然后你可以把它放在 Infinispan 中。