Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pagination 使用Redis集与排序集进行分页_Pagination_Redis - Fatal编程技术网

Pagination 使用Redis集与排序集进行分页

Pagination 使用Redis集与排序集进行分页,pagination,redis,Pagination,Redis,我们在Redis集中存储用户和朋友(关系)。 这可能很容易,但我们无法确定在分页时如何返回结果。 示例:当显示一个登录用户的好友时,我们需要前20个结果,然后单击下面的,接下来的20个结果,以此类推。。我们并不真正关心订单,前提是我们不会获得以下查询的重复数据。 我们更喜欢使用集合而不是排序集合,因为集合允许我们对其他查询使用廉价的SINTER。 推荐的方法是什么?将它们同时存储为集合和排序集合?听起来有点多余。您可以使用SSCAN对集合进行分页,但请注意,它可以两次返回相同的结果。或者,排序集

我们在Redis集中存储用户和朋友(关系)。 这可能很容易,但我们无法确定在分页时如何返回结果。 示例:当显示一个登录用户的好友时,我们需要前20个结果,然后单击下面的,接下来的20个结果,以此类推。。我们并不真正关心订单,前提是我们不会获得以下查询的重复数据。 我们更喜欢使用集合而不是排序集合,因为集合允许我们对其他查询使用廉价的SINTER。
推荐的方法是什么?将它们同时存储为集合和排序集合?听起来有点多余。

您可以使用
SSCAN
对集合进行分页,但请注意,它可以两次返回相同的结果。或者,排序集是此类任务的最佳选择。最后,列表也可以工作,但是
LRANGE
是一个昂贵的操作。

很抱歉输入错误。我是说烧结矿。编辑汉克斯。我们当然不能两次得到同样的结果,因为这会令人困惑。使用排序集时,正确的分页方式是什么?对于排序集,我们并没有找到和SSCAN或LRANGE等价的。你们看过
ZRANGE
ZRANGEBYSCORE
和其他人吗?