セットアップ: 3 種類のデータを redis に格納するアプリケーションを想像してください:
1. セッション情報
2. ユーザー ステータス (オンライン/オフライン)
3. ユーザー 3 つの好きな色
これをセットアップするための適切なアーキテクチャについてお聞きしたいと思います。私はすべきですか
:すべてを異なるキーで保存するだけですか?例:
a1) キー = "セッション ID"、値 = "セッション情報"、
a2) 各ステータスをキー = "ユーザー ID"、値 = "オンライン || オフライン" で保存、
a3) それぞれを保存好きな色: key = "ユーザーの色 1 || ユーザーの色 2 || ユーザーの色 3"、値 = "色の名前"
b. 異なるキーでセッションを保存し、ステータス/お気に入りの色のセットを使用しますか? すなわち:
b1) 各セッションを次のように保存します: key = "
b2) オンラインとオフラインの 2 つのセットを作成します。オンライン ユーザーごとに「オンライン セット」、オフライン ユーザーごとに「オフライン セット」
b3) ユーザーごとに「カラー セット」を作成します。各セットには、3 つの好きな色を保存します。
c. 異なるキーでセッションを保存し、ステータス/お気に入りの色のリストを使用しますか?
c1) 各セッションを保存: キー = "セッション ID"、値 = "セッション情報"、
c2) オンラインとオフラインの 2 つのリストを作成: 各オンライン ユーザーを「リスト オンライン」に、各オフライン ユーザーを「リスト オフライン」に
c3) 作成各ユーザーの「色リスト」: 各リストには、3 つのお気に入りの色を保存します。
d. 他のオプション?
私は主にパフォーマンスに関心があります。できるだけ効率的にするために、セッション、ステータス、色に対してクエリを実行したい(500万人以上のユーザーを想定)。