我正在尝试在 Redis 数据库中对类似于 amazon.com 类别(例如,书籍、电影、电子产品等)的数据进行建模。当它们在 HTML 页面上呈现时,顺序对我很重要,以便向用户呈现一致的用户界面。因此,我将类别存储在排序集中:
ZADD categories 0 "Books"
ZADD categories 1 "Movies"
ZADD categories 2 "Electronics"
然后,我为每个子类别创建了另一个排序集。
ZADD categories:books 0 "Fiction"
ZADD categories:books 1 "Non-Fiction"
ZADD categories:movies 0 "Horror"
[...]
从这里,我想我可以将产品存储在哈希中。
HMSET product:1000 category 0 subcategory 0 title "Redis Cookbook"
HMSET product:1001 category 1 subcategory 0 title "Nightmare on Elm Street"
[...]
我对 Redis 和 Key/Value 数据库存储都很陌生,所以我对自己的方法毫无信心。这个模型对我有用吗?有没有我应该注意的更好/替代方法?我担心的一个问题是保持名称“同步”。例如,如果我将顶级类别从“书籍”更改为“文学”(我知道这是个糟糕的例子),那么“参考”书籍的子类别的所有键也应该更新。