ユーザーIDを使用する利点は、キーの一意のユーザー名を使用するだけではなく、Redisのキーのユーザー名またはID
- ユーザー:USERNAME => {パスワード:HASH、年齢:45}
- ユーザ:0 => {ユーザー名:ユーザー名、パスワード:HASH、年齢:45}
なお、Iユーザーを名前で検索したいので、ユーザー名とIDを関連付けるための第2のキー値セットが必要です。
すべてのユーザー名は一意であり、英数字でなければなりませんが、IDシステムを使用することが有益な理由がある場合は特にあります。
主な理由は私が主にIDを使用した理由は、データベースが何らかの方法で正規化されたときにデータベースの検索時間が短縮されたためです。しかし、Redisはこの利益を得ていないので、ユーザー名だけでなくユーザーIDを使用する他の理由も考えました。任意の助け
おかげで、
Pluckerpluck
P.S. Redisがハッシュを処理する方法のために、私は実際には2つの方法のメモリの違いについて確信が持てます。この情報は良いかもしれません。
このシナリオを指摘してくれてありがとうございます。ただの簡単な質問:私がIDを使用する場合。私は、ユーザー名を検索できるようにusername-id関係が必要になります。ソートされたセット(IDであるランク)がそれを行う良い方法だと思いますか?代わりにハッシュ? – Pluckerpluck
ハッシュは、a)ソートセットより少ないメモリを使用し、b)ユーザの順序付けが定義されていないので、ソートセットを使用するのは概念的には意味がありません。 –
ユーザー名のインデックスにハッシュを使用します。それらはメモリ内のzsetよりはるかにコンパクトです。 zsetを使用すると、名前に関する範囲問合せをサポートする必要がある場合にのみ役立ちます。 –