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。