如何通过Redis Set集合和SINTER操作精准推荐共同关注好友?

2026-05-07 22:160阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计995个文字,预计阅读时间需要4分钟。

如何通过Redis Set集合和SINTER操作精准推荐共同关注好友?

能,但必须确保所有用户关注的列表都使用SET存储,且key命名有规则(例如:

常见错误现象:SINTER user:101:follows user:102:follows 返回空,但你知道他们确实都关注了 user:200。这时要检查:
user:101:followsuser:102:follows 是否真为 SET 类型(用 TYPE 命令确认)
• 成员是否以字符串形式存入(比如存的是整数 200 还是字符串 "200",类型不一致会导致匹配失败)
• 是否误用了 LPUSHHSET 写入,导致实际是 list 或 hash

怎么用 SINTER 推荐“可能认识的人”?

核心思路:对目标用户 A,找出他所有关注的人(比如 5 个),再对这 5 个人各自的 :follows 集合做并集(SUNION),最后剔除 A 自己已关注的、以及 A 自身 ID,剩下就是候选推荐池。但这里 SINTER 不是直接用于推荐,而是用于“找共同兴趣圈”——比如你和好友 B 都关注了 3 个相同账号,那 B 的其他关注就值得推给你。

阅读全文
标签:Redisred

本文共计995个文字,预计阅读时间需要4分钟。

如何通过Redis Set集合和SINTER操作精准推荐共同关注好友?

能,但必须确保所有用户关注的列表都使用SET存储,且key命名有规则(例如:

常见错误现象:SINTER user:101:follows user:102:follows 返回空,但你知道他们确实都关注了 user:200。这时要检查:
user:101:followsuser:102:follows 是否真为 SET 类型(用 TYPE 命令确认)
• 成员是否以字符串形式存入(比如存的是整数 200 还是字符串 "200",类型不一致会导致匹配失败)
• 是否误用了 LPUSHHSET 写入,导致实际是 list 或 hash

怎么用 SINTER 推荐“可能认识的人”?

核心思路:对目标用户 A,找出他所有关注的人(比如 5 个),再对这 5 个人各自的 :follows 集合做并集(SUNION),最后剔除 A 自己已关注的、以及 A 自身 ID,剩下就是候选推荐池。但这里 SINTER 不是直接用于推荐,而是用于“找共同兴趣圈”——比如你和好友 B 都关注了 3 个相同账号,那 B 的其他关注就值得推给你。

阅读全文
标签:Redisred