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 とキー/バリュー データベース ストアの両方に非常に慣れていないため、自分のアプローチに自信がありません。このモデルは長期的に機能しますか? 私が知っておくべきより良い/代替のアプローチはありますか? 私が懸念していることの 1 つは、名前を「同期」しておくことです。たとえば、トップレベルのカテゴリを「本」から「文学」に変更すると (ひどい例ですが、私は知っています)、本を「参照」するサブカテゴリのすべてのキーも更新する必要があります。