【问题标题】:Redis - best way to cache the dataRedis - 缓存数据的最佳方式
【发布时间】:2019-05-24 00:04:16
【问题描述】:

我有 3 种类型的值。

Type1 - In millions
Type2 - In hundreds
Type3 - In tens

对于每个type1,所有type2都应该被type3处理。

我可以使用集合。

Type1#Type3 = {Type2 values}

或者

Type1#Type2 = {Type3 values}

如果我将 Type3 保留为 key,则 set 占用的内存更多。

或者有没有更好的方法来存储这种类型的数据?

我评估了占用比设置更多内存的哈希。我使用 ziplist 压缩来评估哈希。

有什么建议吗?

【问题讨论】:

    标签: redis


    【解决方案1】:

    如果你能容忍分裂,这里有另一种方法:

    第一个 HashMap,键作为 type1 值,值作为 : 分隔的 type2 值列表,链接到该类型 1 值

    type1_a => type2_b:type2_c..

    type1_b => type2_k:type2_d..

    第二个HashMap,key为type2值,value为对应的type3值

    type2_a => type3a

    type3_b => type3b

    for type2_key in firstHashMap.get(type1_key).split(':') secondHasMap.get(type2_key)

    另外,您可以查看 Lua 脚本以避免在客户端执行上述操作。

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 1970-01-01
      • 2021-03-06
      • 2023-03-17
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多