gpt4 book ai didi

php - Redis中存储树结构

转载 作者:IT王子 更新时间:2023-10-29 06:09:35 27 4
gpt4 key购买 nike

我有一个如下所示的树结构,它是使用 PHP 填充的。每次都填充完整的结构很耗时,所以我想把它放在 Redis 中。现在它存储为纯 JSON,但在添加新项目后,我需要删除现有的 JSON 并需要再次填充并插入到 Redis。所以我想要一个结构,以便我可以在任何层次结构中添加一个新项目,即作为父项或子项。为此,我可以使用 Redis 中的哪种数据结构,我该怎么做?

[
{
"id":2,
"order":2,
"children":[
{
"id":3,
"order":1,
"children":[

],
"actions":[
{
"id":1,
"slug":"manage",
"title":"manage",
"api":[

]
}
]
},
{
"id":4,
"order":2,
"children":[

],
"actions":[
{
"id":2,
"slug":"settings",
"title":"settings",
"api":[

]
}
]
}
],
"actions":[
{
"id":190,
"slug":"update",
"title":"update",
"api":[

]
}
]
}
]

最佳答案

Redis 的核心数据结构没有嵌套,所以简而言之,您不能轻易做到这一点。

正如您正确指出的那样,存储序列化的 JSON 的缺点是需要对值进行完全读/写,即使只触及一个子集也是如此。

我可以推荐的两个备选方案是 a) using Lua to manipulate the serialized JSON或 b) 使用 ReJSON .

免责声明:我是 ReJSON 的作者。

关于php - Redis中存储树结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46421846/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com