我正在尝试在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和键/值数据库存储都很陌生,因此我对自己的方法并不自信。这个模型长期来看能行吗?还有更好/替代的方法需要我知道吗?我担心的一个问题是保持名称“同步”。例如,如果我将顶级类别从“Books”更改为“Literature”(我知道这是一个糟糕的例子),则所有“引用”书籍的子类别的键都应该被更新。