【发布时间】:2020-08-28 15:28:13
【问题描述】:
我一直在试图弄清楚如何将多个值放入一个键中,例如:
{
"fruit": {
"tomato": {
"Color": "red",
"Price": "100"
},
"banana": {
"Color": "yellow",
"Price": "150"
}
}
}
目前我目前的代码是:
r = serialized_redis.MsgpackSerializedRedis(host='localhost', port=6379, db=0)
r.set("fruit", {"tomato": {"Color": "red", "Price": "100"}})
r.set("fruit", {"banana": {"Color": "yellow", "Price": "150"}})
问题在于,每次我执行 r.set 时,它似乎都会替换,这意味着当我运行此代码时,它只会设置为:
{
"fruit": {
"banana": {
"Color": "yellow",
"Price": "150"
}
}
}
所以即使我做了一组“番茄”,它也会被“香蕉”取代,因为它是最新的 SET。
我的问题是,我怎样才能将它添加到相同的 Key 但具有不同的值,以便所有内容都在同一个键中但它具有不同的“furits”?
{
"fruit": {
"tomato": {
"Color": "red",
"Price": "100"
},
"banana": {
"Color": "yellow",
"Price": "150"
}
}
}
【问题讨论】:
-
这可能会有所帮助(即使它不使用 py-redis):stackoverflow.com/questions/20271372/redis-list-of-nested-keys
-
您也可以随时将字典存储为 JSON 字符串。
-
@Timbolt 是的,但是如果我只想像示例中所示的那样添加一个值等,那么如果我使用 set,我可能无法做到这一点? - 我确实很难理解你显示的链接:(
-
正确,您需要将 JSON 读入字典,修改字典并再次插入整个 JSON。这里可能不是一个很好的解决方案,但仍然很高兴知道,因为在其他情况下使用此方法非常方便。