我在写一个使用Redis的非常简单的社交网络应用程序。Redis多个请求
每个用户都有一个排序的集合,其中包含其Feed中的项目的ID。如果我想显示他们的饲料,我做以下步骤:
- 使用
ZREVRANGE
获得项目的id的饲料 - 使用
HMGET
获得饲料(每源项目是一个字符串)
但现在,我也想知道用户是否喜欢饲料项目。所以我有一组与每个包含喜欢饲料项目的用户的ID的饲料项目相关联。
如果我得到15个供稿项目,现在我必须向Redis另外执行15个请求,以便查找每个供稿项目(如果当前用户已对其进行了评论)(通过检查每个组中是否存在每个供稿饲料)。
这样就需要15 + 1个请求。
使用Redis时,这种类型的查询是否被视为“正常”?有没有更好的方法可以构建数据以避免这么多要求?
我正在使用redis-rb gem。
流水线也许?或一个Lua脚本? – akonsu