我想使用redis的数据结构来存储用户的关注者列表,如何根据页面大小进行分页以从列表中获取记录?
答案 0 :(得分:3)
除了@Didier Spezia写的内容之外,我还尝试将关注者存储在一个有序的集合中。
如果您想按姓名使用它们,请将它们全部存储为得分0,然后使用ZRANGEBYLEX以词汇方式对它们进行分页。
如果您希望按订单添加为好友,请使用添加的时间戳作为分数,并使用ZRANGE按时间分页。
[编辑]哦,另一个看看内存是否与您有关的选项:如果ids是常量长度整数,您可以使用字符串键将它们作为二进制值存储在数组中,并使用范围对其进行分页。它会超级快,几乎有0个内存开销。看看BITFIELD命令。它可能是一个非常好的用例,虽然它不包括删除和查找,所以如果这些是一个问题,它不是一个好的选择。
答案 1 :(得分:2)
您可以尝试利用SSCAN命令。确保首先了解SCAN命令的工作原理。