【问题标题】:How to serialize a protobuf object to Ehcache?如何将 protobuf 对象序列化到 Ehcache?
【发布时间】:2012-11-23 02:09:04
【问题描述】:

我有数百万个对象,我需要将它们保存到缓存中。为了减少这些对象的大小和序列化/反序列化的时间,我使用 protobuf 对象而不是 POJO,然后将它们作为字节数组保存到 Ehcache 中。但是Ehcache会将protobuf字节数组放入一个Ehcache的对象中,然后再将对象序列化到内存中,所以使用protobuf的优势就没有了。

我可以直接将 protobuf 对象的字节表示保存到 Ehcache 中吗?

【问题讨论】:

    标签: protocol-buffers ehcache


    【解决方案1】:

    当您说“Ehcache 会将 protobuf 字节数组放入 Ehcache 的对象中”时,我猜您指的是 net.sf.ehcache.Element,对吧?但是“然后将对象序列化到内存中”,这里是什么意思? 澄清一下,Ehcache 不会序列化任何要存储在堆上的东西。如果您谈论 offHeap 存储,那么是的东西会被序列化。但是如果你存储字节数组,序列化这些值是......简单的。此外,您不必担心内部数据结构序列化,这些是非常专门处理的,即使您能够在那里使用 protobuf,您也不会获得任何收益。

    但是,将 protobuf 用于域实例与纯 Java 序列化相比,您获得的所有好处都不会丢失。

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 1970-01-01
      相关资源
      最近更新 更多