【发布时间】:2016-07-08 14:44:11
【问题描述】:
我在 Redis 中创建了两个名为 Person 和 Account 的哈希键值对。个人密钥包含个人的名字和姓氏,帐户密钥包含帐户类型和储蓄。现在我想做一个类似于 SQL 连接(内连接)的连接,从两个哈希值中检索每个人的帐户类型和储蓄。
请帮助我找到解决此问题的方法,任何人都可以帮助我在 Redis 哈希键值对中设置主键和外键。enter image description here
【问题讨论】:
我在 Redis 中创建了两个名为 Person 和 Account 的哈希键值对。个人密钥包含个人的名字和姓氏,帐户密钥包含帐户类型和储蓄。现在我想做一个类似于 SQL 连接(内连接)的连接,从两个哈希值中检索每个人的帐户类型和储蓄。
请帮助我找到解决此问题的方法,任何人都可以帮助我在 Redis 哈希键值对中设置主键和外键。enter image description here
【问题讨论】:
Redis 并不是为了这个目的而服务的。但作为一种解决方法,您仍然可以尝试这样的方法。
在您的每个 Person 散列中都有一个表示帐户 ID 的值。
hmset person:0 first_name aswathy last_name jacob account_id 1
您的帐户哈希将如下所示
hmset account:1 type x savings xxx
现在为了实现一个join。写一个lua代码,或者这样的应用逻辑。
temp = hgetall person:0 -> temp is a hashmap
temp1 = hgetall "account:"+temp.get(account_id) -> this will get you all the info in that account
put temp and temp1 in a map and return it
生成的地图将为您提供与联接等效的结果。
【讨论】: