如何在redis的数据结构上进行分页?

时间:2016-12-28 08:34:08

标签: caching redis set paging

我想使用redis的数据结构来存储用户的关注者列表,如何根据页面大小进行分页以从列表中获取记录?

2 个答案:

答案 0 :(得分:3)

除了@Didier Spezia写的内容之外,我还尝试将关注者存储在一个有序的集合中。

如果您想按姓名使用它们,请将它们全部存储为得分0,然后使用ZRANGEBYLEX以词汇方式对它们进行分页。

如果您希望按订单添加为好友,请使用添加的时间戳作为分数,并使用ZRANGE按时间分页。

[编辑]哦,另一个看看内存是否与您有关的选项:如果ids是常量长度整数,您可以使用字符串键将它们作为二进制值存储在数组中,并使用范围对其进行分页。它会超级快,几乎有0个内存开销。看看BITFIELD命令。它可能是一个非常好的用例,虽然它不包括删除和查找,所以如果这些是一个问题,它不是一个好的选择。

答案 1 :(得分:2)

您可以尝试利用SSCAN命令。确保首先了解SCAN命令的工作原理。