No-sql数据库中的分页

时间:2017-12-26 09:20:12

标签: redis nosql spring-data-redis

没有像Redis这样的SQL数据库支持分页功能。 使用案例:我在Redis实例中拥有整个客户数据。但是对于我的API,请求将带有分页(例如:分页大小为10),现在我需要加载我的所有数据(比如-10000)来自Redis的应用程序(Spring boot)然后进行分页并返回相关记录(仅10个)。 但是对于像Oracle这样的SQL数据库,使用Rownum这样的函数会更容易,这有助于在数据库级别自己进行分页,并且在应用程序代码中不需要这种额外的逻辑。 No-SQL DB中是否有任何解决方法或更好的方法,比如Redis做同样的

1 个答案:

答案 0 :(得分:1)

将您的客户数据保存在Redis的排序集中。排序集提供了很好的功能来对数据进行排序并在间隔期间请求它们。

假设您的数据已加载到带有ID的有序集合中。如果您需要每页获得10个客户,请为每个页面调用以下内容:

ZRANGE yourcustomerset 0 9
ZRANGE yourcustomerset 10 19
ZRANGE yourcustomerset 20 29

请检查this