2017-10-05 49 views
0

我正在尝试实现由Cassandra支持的分页REST API。我发现Cassandra驱动程序具有分页功能(http://docs.datastax.com/en/developer/java-driver/3.3/manual/paging/)。我用这个功能做了一个简单的实验,它似乎工作。任何人都可以解释一下Cassandra上的页面状态吗?

通过设置适当的页面大小和页面状态,即使服务器(Web服务器,而不是Cassandra服务器)重新启动,我仍然可以获得正确的页面。此外,驱动程序似乎将此页面状态和页面大小与其声明一起发送给Cassandra服务器。这些东西是如何工作的?它对我来说看起来很神秘。

回答

2

页面状态保存最后一个读取分区和最后一个读取行。一切都被排序,所以它可以寻求分区/行,并继续从那里读取。这使得能够遍历事物,但不能做偏移选择等事情。

+0

是的,我没有打印出分页状态I,它包含最后一个条目。但后续问题是如果我删除该条目?分页状态是否仍然可用? – Wei

+1

是的,它开始于下一个记录>比它(或<取决于排序)。所以实际记录是否仍然存在并不重要。 –

相关问题