【发布时间】:2014-11-12 17:26:45
【问题描述】:
我有一个以下哈希列表:
{
key_main1: {
k1: 1,
k2: 11,
k3: 33,
k4: 146,
k5: 12,
# etc
},
key_main2: {
k1: 1,
k2: 11,
k3: 33,
k4: 146,
k5: 12,
# etc
},
# etc
}
在redis中保存为json:
redis_key1 = "redis_key1"
redis.set("redis_key", my_hash.to_json)
redis.get("redis_key") # =>
"{"key_main":{"k1":1,"k2":11,"k3":33,"k4":146,"k5":12}}"
哈希具有相同的结构,但可以有不同的键。在每次迭代中,我想通过总结“k”s 的值或/并插入不存在的键来更新现有键: 所以列表中的第二个哈希看起来像这样
{
key_main1: {
k3: 44,
k4: 14,
k18: 99
},
key_main3: {
k2: 77
}
}
那么在第二次迭代之后,Redis 中的结果将如下所示:
{
key_main1: {
k1: 1,
k2: 11,
k3: 33,
k4: 160,
k5: 12,
k18: 99
},
key_main2: {
k1: 1,
k2: 11,
k3: 33,
k4: 146,
k5: 12
},
key_main3: {
k2: 77
}
}
最简单和最佳的方法是什么?我是否必须在每次迭代中解析(恢复)json 以检查密钥是否存在并更新或插入它们?
【问题讨论】: