我有一组要存储的分层数据,层次结构就像站点/建筑物/楼层,例如数据
{
site:'New York',
buildings: [
{
name:'building a',
floors: [
'Ground':[{room:room1},{room:room2}],
'First':[{room:room1},{room:room2}]
]
}
]
}?
{
site:'London',
buildings: [
{
name:'building a',
floors: [
'Ground':[{room:room1},{room:room2}],
'First':[{room:room1},{room:room2}]
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想将这些房间数据存储到一个集合中,但我也可以通过选择站点名称或(站点名称+建筑物名称)或(站点名称+建筑物名称+楼层)来查询房间的子集.
在Redis中,您不会将数据存储在唯一的数据结构中.您必须创建多个数据结构,每个数据结构都由一个键标识.
使用约定来命名您的键:例如,site:<CITY>:buildings将包含一个包含给定站点的建筑物ID列表的集合.
然后定义哈希以存储每个建筑物描述.这些哈希的关键可能是:building:<ID>
在散列中,您有2个成员:名称和楼层.Floors值是包含楼层标识符列表的集合的唯一ID.
然后为每个楼层创建最后一组,以存储房间名称.集合的名称可能类似于:floor:<ID>.
提示:
| 归档时间: |
|
| 查看次数: |
6528 次 |
| 最近记录: |