0

我需要在 redis 中对数据进行建模,其中键是文件路径,并且每个路径都有 N 个键/值。

我目前正在使用哈希对数据进行建模。

HSET /products/clothes/pants/501-jeans "title" "Levi 501 Jeans"

这很好用,但是我希望能够获得所有“裤子”哈希“孩子”的列表。我可以通过

KEYS /products/clothes/pants/*

但是, redis 文档状态KEYS pattern不应在生产中使用。

我正在考虑创建一个与哈希相关的所有“路径”的集合,但我仍然不确定如何/是否可以搜索这些。

关于如何最好地建模此类数据的想法?

4

1 回答 1

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 ]

每当我添加/删除资源:: 键时,我都必须管理孩子:: 地图

我选择建模children::使用 Redis映射,因此不可能有重复的路径键,但是使用列表也可以工作(易于

于 2013-03-02T19:38:36.910 回答