0

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

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

是否有实现两者的框架或库?

4

1 回答 1

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 中。

于 2011-08-08T06:57:27.077 回答