我需要在redis中建模数据,其中键是文件路径,每个路径都有N个键/值。
我目前正在使用Hashes建模数据。
HSET /products/clothes/pants/501-jeans "title" "Levi 501 Jeans"
这很好用,但我希望能够得到所有"裤子的列表"哈希"孩子"。我可以通过
来做到这一点KEYS /products/clothes/pants/*
但redis documentation个KEYS pattern
状态不应在生产中使用。
我正在考虑创建一个包含所有"路径"与哈希相关联,但我仍然不确定如何/如果我可以搜索那些。
关于如何最好地模拟此类数据的想法?
答案 0 :(得分:0)
以下是我对数据进行建模的方法,看起来效果相当不错。
resources::/path/foo => Redis Hash of Resource data
resources::/path/foo/bar => Redis Hash of Resource data
resources::/path/foo/cat => Redis Hash of Resource data
resources::/path/foo/cat/dog => Redis Hash of Resource data
children::/path/foo => Redis Map [ /path/foo/bar, /path/foo/cat/, /path/foo/dog ]
children::/path/foo/bar => Redis Map [ /path/foo/bar, /path/foo/cat ]
children::/path/foo/bar/cat => Redis Map [ /path/foo/dog ]
我必须在添加/删除 resources :: key
的任何时候管理 children :: maps我选择使用Redis 地图建模 children :: ,因此无法使用重复的路径键,但使用列表也可以正常工作(很容易