1

何百万ものオブジェクトがあり、それらをキャッシュに保存する必要があります。これらのオブジェクトのサイズとシリアライゼーション/デシリアライゼーションの時間を削減するために、POJO の代わりに protobuf オブジェクトを使用し、バイト配列として Ehcache に保存します。しかし、Ehcache は protobuf バイト配列を Ehcache のオブジェクトに入れ、オブジェクトをメモリにシリアル化するため、protobuf を使用する利点はなくなりました。

protobuf オブジェクトのバイト表示を Ehcache に直接保存できますか?

4

1 に答える 1

0

「Ehcache は protobuf バイト配列を Ehcache のオブジェクトに入れる」と言うとき、net.sf.ehcache.Element を参照していると思いますよね?しかし、「そしてオブジェクトをメモリにシリアライズする」とはどういう意味ですか? 明確にするために、Ehcache はヒープに保存するものをシリアライズしません。offHeap ストレージについて話すと、はい、シリアル化されます。しかし、バイト配列を格納する場合、これらの値をシリアル化するのは簡単です。また、内部データ構造のシリアル化について心配する必要はありません。これらは非常に具体的に処理され、そこで protobuf を使用できたとしても、何も得られません。

しかし、ドメイン インスタンスに protobuf を使用した場合とプレーンな Java シリアライゼーションを使用した場合のすべての利点を失うことはありません。

于 2012-11-22T18:09:04.473 に答える