《Redis小书》解释了如何通过电子邮件地址查找用户ID,以便您可以通过用户ID查找用户哈希并获取完整的用户对象。这实际上是一个按电子邮件地址索引用户的方法。您只需要在插入新用户时添加到查找哈希表中,就像这样:
set users:9001 "{id: 9001, email: leto@dune.gov, ...}"
hset users:lookup:email leto@dune.gov 9001
这个操作似乎涉及到 Redis 在寻找所需电子邮件字段的值时必须执行的隐藏查找。可能有数千个电子邮件字段,而我们只需要其中一个。
那么使用索引键中的电子邮件字段如下怎么样:
set users:9001 "{id: 9001, email: leto@dune.gov, ...}"
set users:lookup:email:leto@dune.gov 9001
因为在Redis小书中没有建议这样做,所以我认为这不是最佳实践。
有人能解释一下为什么第一种方法更好吗?它们是不是效果相同?
谢谢,我正在学习Redis。