我正在编写一个使用 Redis 的非常简单的社交网络应用程序。
每个用户都有一个排序集,其中包含他们提要中项目的 ID。如果我想显示他们的提要,我会执行以下步骤:
- 用于
ZREVRANGE
获取提要中项目的 ID - 用于
HMGET
获取提要(每个提要项都是一个字符串)
但是现在,我还想知道用户是否喜欢某个提要项。因此,我有一个与每个提要项目相关联的集合,其中包含喜欢提要项目的用户 ID。
如果我得到 15 个提要项,现在我必须对 Redis 执行额外的 15 个请求以找出当前用户是否评论过每个提要项(通过检查每个提要的每个集合中是否存在 id)。
所以这将需要 15+1 个请求。
使用 Redis 时,这种类型的查询是否被视为“正常”?有没有更好的方法可以构建数据以避免这么多请求?
我正在使用 redis-rb gem。