Little Book of Redisでは、ユーザーIDをメールアドレスで検索して、ユーザーハッシュをユーザーIDで検索し、完全なユーザーオブジェクトを取得する方法について説明しています。これは事実上、電子メールアドレスによるユーザーのインデックスです。次のような新しいユーザーを挿入するたびに、ルックアップハッシュに追加する必要があります。
set users:9001 "{id: 9001, email: leto@dune.gov, ...}"
hset users:lookup:email leto@dune.gov 9001
この操作には、必要な電子メールフィールドの値を引き出すためにRedisが実行する必要のあるハッシュ内の非表示のルックアップが含まれているようです。何千ものメールフィールドが存在する可能性があり、そのうちの1つだけを求めています。
このようにインデックスキーでメールを使用するのはどうですか?
set users:9001 "{id: 9001, email: leto@dune.gov, ...}"
set users:lookup:email:leto@dune.gov 9001
これはRedisのLittleBookで提案されていないため、ベストプラクティスではないと思います。
最初の方法が優れている理由を誰かが説明できますか?それらは事実上同じですか?
ありがとう、私はRedisを学んでいます。