私はRedisを使用するためのすべてのコマンドをよく理解していると思いますが、使用する最良の方法を理解するのが難しいです。私は顧客の通知システムを設計しています。顧客の通知システムでは、アラームが発生したときに優先する方法(Email、SNMP、Syslog)で通知します。Redis/NoSQLの概念化の助けが必要
私はデバイス名とポートを取得します。私はそれを単一の顧客と関連させ、その顧客を配送方法に関連付ける必要があります。リレーショナルデータベースでは、おそらく次のようになります。
Device name: Los_Angeles
Port: 11
SELECT Customer_ID, Customer_name from device_info where device_port = 'Los_Angeles:11'
SELECT Customer_protocol, SNMP_destination, Syslog_destination from CUSTOMER
where Customer_ID = <customer_id from above>
(非常に単純化された例)。
リストのハッシュまたはハッシュのハッシュを使ってプログラムでこれを行う方法を見ることができます。しかし、私はレディスで問題を抱えていると思うのは、より複雑なデータ構造が(私が知る限り)利用できないということです。では、複数の情報を1つのキーにどのように関連付けるのですか?私はそれをやることができるいくつかの方法を考えることができますが、それらはすべて複数のステップを含むように思われます、そして、私は現在のRedisプログラマーから、これを行うための「最良の」方法について何らかのインプットをお願いしたいと思います。
Redis Hashを見ましたか?たとえば、hmset/hmgetを使うと、あなたのアイデンティティを表すことができる単一のキーと複数の「フィールド」を関連付けることができます。 http://openmymind.net/2012/1/23/The-Little-Redis-Book/ - レディス・ブックには良い例がいくつかあります。 – Alex
私は実際にはHMSET/HMGETを見ませんでした。私が経験したチュートリアルの後で、それは新しい追加でなければならない。私はそれで遊ぶだろう。 –