Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在cassandra中有没有获得无状态分页的方法?_Java_Cassandra_Datastax - Fatal编程技术网

Java 在cassandra中有没有获得无状态分页的方法?

Java 在cassandra中有没有获得无状态分页的方法?,java,cassandra,datastax,Java,Cassandra,Datastax,让我们假设我有一个web服务,并且我有一个返回一组web页面记录的方法。此方法获取1个参数,它是分页编号,因此我可以输入编号并获取该页码的结果 如果你把StackOverflow当作 查看所有问题时,它有一个URL参数, 那么,如果我的记录是使用聚类键排序的,那么使用Cassandra实现这一点的方法是什么呢。看看(使用左上角的下拉列表切换到驱动程序版本) 简而言之:Cassandra支持保存上一页的状态并使用它从下一页重新启动 不支持开箱即用的偏移量查询(从随机页面开始);有很多方法可以模拟它

让我们假设我有一个web服务,并且我有一个返回一组web页面记录的方法。此方法获取1个参数,它是分页编号,因此我可以输入编号并获取该页码的结果

如果你把StackOverflow当作

查看所有问题时,它有一个URL参数, 那么,如果我的记录是使用聚类键排序的,那么使用Cassandra实现这一点的方法是什么呢。

看看(使用左上角的下拉列表切换到驱动程序版本)

简而言之:Cassandra支持保存上一页的状态并使用它从下一页重新启动


不支持开箱即用的偏移量查询(从随机页面开始);有很多方法可以模拟它们,只要您接受性能影响(基本上每次跳过前n个结果)。

关于这一点,我可以保存分页状态并再次使用它们吗?假设我想要第5页,我从保存的位置加载分页状态并使用该分页状态。即使表中的记录数量发生变化,它也能工作吗?分页状态是根据以下内容构建的:当前分区键、当前单元格名称(基本上是当前行的id)以及查询有限制时剩余的行数。因此,对于给定的分页状态,您将始终从同一行重新启动。如果同时添加/删除行,这可能与从一开始重新迭代5页时得到的行不同。假设由于某些异常(例如
ReadTimeoutException
),我得到的结果集为空,因此我无法获得PagingState对象,但我想跳过此页,仍然移动到下一页。有没有办法做到这一点?在这种情况下,我怎样才能转到下一页?@abi_pat你不能。如果没有从服务器获取分页状态,则无法在客户机上生成它。