1
我想在Redis中存儲鍵值對(T1,T2)。密鑰和值都是唯一的。 我希望能夠在鍵和值上進行查詢,即HGET(Key)應該返回相應的值,HGET(Value)應該返回相應的Key。Redis哈希:如何查詢密鑰和值
一個簡單的方法是在Redis(T1,T2)和(T2,T1)中創建2個哈希,然後在適當的哈希上查詢。這種方法的問題是插入,更新或刪除對需要兩個哈希中的更新。
有沒有更好的方式來滿足我的要求...
我想在Redis中存儲鍵值對(T1,T2)。密鑰和值都是唯一的。 我希望能夠在鍵和值上進行查詢,即HGET(Key)應該返回相應的值,HGET(Value)應該返回相應的Key。Redis哈希:如何查詢密鑰和值
一個簡單的方法是在Redis(T1,T2)和(T2,T1)中創建2個哈希,然後在適當的哈希上查詢。這種方法的問題是插入,更新或刪除對需要兩個哈希中的更新。
有沒有更好的方式來滿足我的要求...
如果T1之一,T2擁有你可以使用一個組合就像一個整數類型:
1->foo
2->bar
ZADD myset 1 foo
ZADD myset 2 bar
ZSCORE myset foo //returns 1.0 in O(n)
ZSCORE myset bar //return 2.0 in O(n)
ZRANGEBYSCORE myset 1 1 //returns "foo" in O(log(N)+M)
如果這不是這種情況,那麼保持2個獨立的哈希值,最好在一個Lua腳本中是合理的。
感謝Ion的迴應。 Key和Value都是我當前需求中的字符串,因此我不能在這裏使用Sorted Sets,但是您建議的解決方案非常豐富,我希望可以在其他類似需求中使用它:) – 2014-09-24 07:52:26