java – Redis – 将数据存储到Redis :: JSON字符串或序列化pojo的方法

我有一个类如下:

   public class Person
      {
         public String name;
         public String age;
      }

我对将Perons地图保存到Redis的方法感到困惑:

我应该使用java序列化/反序列化对象方法,还是应该尝试转换为JSON然后存储,反之亦然.

对下面提到的点有任何想法:

>序列化和反序列化的成本VS映射到Java和JSON的成本
>内存对Redis的JSON和序列化对象的要求
>压缩:流与数据

我们应该采用哪种压缩方式
  虽然我们使用Redish Hash,但数据压缩似乎有点困难(不太有益)

一些假设是:

> pojo包含许多instancd变量
>将使用Redis哈希来存储对象

最佳答案
您应该考虑使用MessagePack,因为它与Redis和Lua完全兼容,它是对JSON的强大压缩:http://msgpack.org/

它意味着要压缩和解压缩一些Lua代码,但成本应该很小.这是一个例子:http://gists.fritzy.io/2013/11/06/store-json-as-msgpack

有一个缺乏数据的小基准:https://gist.github.com/muga/1119814

它仍然是一个很好的选择,因为你可以使用不同的语言,完全支持redis,它基于JSON.

转载注明原文:java – Redis – 将数据存储到Redis :: JSON字符串或序列化pojo的方法 - 代码日志