【问题标题】:Most efficient way to serialize a struct?序列化结构的最有效方法?
【发布时间】:2022-10-23 21:01:15
【问题描述】:

我想最小化存储结构的空间量。我将它存储在类似 redis 的字符串键值缓存中。

考虑我有以下结构:

struct UserSessionData:
   attr1 = Enum(class1)
   attr2 = Enum(class2)
   attr3 = string
  • 天真的方法是用 JSON::encode:'{'attr1'='val1','attr2'='val2','attr3'='val3'}' 存储它们

  • 更好的方法(空间方面)是仅将值存储为 CSV:'val1,val2,val3'

我知道我可以更多地压缩它,因为 struct 有 enums 这是预定义的值。 有什么想法可以进一步减少它吗?

非常感谢!

【问题讨论】:

    标签: string performance serialization encode


    【解决方案1】:

    回答我自己的问题;我用PHPgzcompress。它导致字符串中几乎 50% 的数据压缩。我确信其他编程语言还有其他压缩等价物,把这个答案留在这里,希望它能成为其他研究人员的参考。

    【讨论】:

      猜你喜欢
      • 2021-12-03
      • 2015-06-23
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      • 2017-11-21
      • 2012-09-12
      • 2019-05-03
      相关资源
      最近更新 更多