我想知道如何使用Cassandra实现分页。

让我们说我有一个博客。该博客每页最多列出10个帖子。要访问下一个帖子,用户必须单击分页菜单才能访问第2页(帖子11-20),第3页(帖子21-30)等。

在MySQL下使用SQL,我可以执行以下操作:

SELECT * FROM posts LIMIT 20,10;

LIMIT的第一个参数从结果集的开头偏移,第二个参数是要提取的行数。上面的示例从第20行开始返回10行。

如何在CQL中达到相同的效果?

我在Google上找到了一些解决方案,但所有解决方案都需要具有“上一次查询的最后结果”。它可以通过“下一个”按钮切换到另外10个结果集,但是如果我想从第1页跳到第5页怎么办?

最佳答案

尝试在CQL中使用 token 功能:
https://docs.datastax.com/en/cql/3.1/cql/cql_reference/select_r.html#reference_ds_d35_v2q_xj__paging-through-unordered-results

另一个建议,如果您使用的是DSE,solr支持深度分页:
https://cwiki.apache.org/confluence/display/solr/Pagination+of+Results

关于cassandra - Cassandra (CQL)中的结果分页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26757287/

10-11 02:52