を作成し、私はこのようになり、次のデータがあります。Redisのデータベース設計 - 適切なデータ型を決定し、セカンダリインデックスに
または
{
location: 'puerto rico',
phone_num: 222-222-2222,
ext: 8888
}
をマイエンドユーザーが照会できるようにする必要がありますREST APIとは、このようなものを送る:
http://myapp/internalext/123-123-1234
それは2222
の内線値を返す必要があります。しかし、私はまた、このようなクエリをサポートできるようにする必要があります。私には123-123-1234の値を返す必要があり
http://myapp/phonenumber/[email protected]
このようなクエリをサポートできるようにするために、私のデータをレディスで作成する最も良い方法が何であるかを知りたいと思います。私はノードredis Web APIを作成する必要があります。
これまでのところ、私はこのようなデータ作成しようとしました:私は、今、私は照会すると
127.0.0.1:6379> hset phone:lookup:e164 1231231234 1
:
127.0.0.1:6379> set phone:1
"{\"id\":1, \"locid\":1, \"loc_name\":\"zimbabwe\", \"extension\":\"2222\", \"e164\":\"1231231234\"}"
そして私は、同じ電話オブジェクトを参照するセカンダリインデックスを作成します私が望むならば、2つの検索を行う必要があります。ユーザーは私に完全な電話番号を渡すのであれば、私は次のクエリを行う必要があります:
1. First lookup using the e164 as key:
127.0.0.1:6379> hget phone:lookup:e164 1231231234
"1"
2. now you know that it's the first key in the "phone" set(?? i dunno if this is the terminology)
127.0.0.1:6379> get phone:1
"{\"id\":1, \"locid\":1, \"loc_name\":\"zimbabwe\", \"extension\":\"2222\", \"e164\":\"1231231234\"}"
127.0.0.1:6379>
質問
を、これはGET、これらのタイプのための私のRedisのデータを作成/整理するための最良の方法ですリクエスト? 私はハッシュについて読んでいます。しかし、私はどの方法を進めるかを知るのに十分なほど親しんでいません。 また、上記のデータを参考に、私はどのようにすべての電話番号とそのデータを表示するように要求しますか?
あなたの条件についての詳細を知る必要があります。それはいつも電話番号からextnになりますか、またはその逆であるか、またはextnまたは電話番号から場所を取得する必要がありますか? –
@KarthikeyanGopall主な翻訳は、電話番号とEXTNの間になります...しかし、私は右の「記録」を特定したら、私はただ一つのフィールド以上のものを返す必要があります。しかし、レコードが非常に小さい/フィールドが多すぎないので、いくつかの問題を見ない限り、私はすべてを返すかもしれません。 – Happydevdays