网站首页技术博客
关于数据结构:Redis Hash:如何同时查询键和值
摘要Redis Hash: How to Query on both Key and Value
我想在Redis中存储键值对(T1,T2)。键和值都是唯一的。
我希望能够同时查询键和值,即HGET(Key)应该返回对应的Value和HGET(Value)应该返回对应的Key。
一个简单的方法是在Redis(T1,T2)和(T2,T1)中创建2个哈希,然后在适当的哈希上查询。这种方法的问题是,对的
Redis Hash: How to Query on both Key and Value
我想在Redis中存储键值对(T1,T2)。键和值都是唯一的。
我希望能够同时查询键和值,即HGET(Key)应该返回对应的Value和HGET(Value)应该返回对应的Key。
一个简单的方法是在Redis(T1,T2)和(T2,T1)中创建2个哈希,然后在适当的哈希上查询。这种方法的问题是,对的插入,更新或删除将需要在两个哈希中都进行更新。
有没有更好的方法来满足我的要求...
如果T1和T2中的一个具有整数类型,则可以使用如下组合:
1 |
1->foo |
如果不是这种情况,那么最好保留两个单独的哈希,最好在Lua脚本中保存
- 感谢Ion的回应。 Key和Value都是我当前要求中的字符串,因此我不能在这里使用Sorted Sets,但是您建议的解决方案非常有用,我希望可以在其他类似要求中使用它:)