Rest分页与Cassandra分页

Rest分页与Cassandra分页,rest,cassandra,Rest,Cassandra,据我所知,Cassandra中没有经典的分页。为了检索更多的项,必须提供(可序列化)标记,这是以前查询的结果 这是否意味着我们在查询参数中指定页面和大小的经典和整洁REST端点不再可能了?我的意思是我们可以迭代Cassandra(选项1),但是对于长列表来说这似乎效率很低,不是吗?或者我们不应该费心去做 或者,客户现在是否有责任提供从上一个范围获得的代币?这也意味着客户端只能来回导航(除非我们做一些魔术,比如在引擎盖下自动倒带,这基本上意味着选项1)。您可以让rest接口获取一个“pageTok

据我所知,Cassandra中没有经典的分页。为了检索更多的项,必须提供(可序列化)标记,这是以前查询的结果

这是否意味着我们在查询参数中指定页面和大小的经典和整洁REST端点不再可能了?我的意思是我们可以迭代Cassandra(选项1),但是对于长列表来说这似乎效率很低,不是吗?或者我们不应该费心去做


或者,客户现在是否有责任提供从上一个范围获得的代币?这也意味着客户端只能来回导航(除非我们做一些魔术,比如在引擎盖下自动倒带,这基本上意味着选项1)。

您可以让rest接口获取一个“pageToken”,对您检索到的最后一个集群密钥进行序列化base64编码(或加密,如果包含敏感项,则进行编码)你可以通过它来回应。给出寻呼机令牌和计数,然后可以继续向下迭代。它将是高效的,并且只需替换偏移即可。如果集群密钥更小,看起来就不会那么奇怪了。例如,看看

,您可以让rest接口获取一个“pageToken”,该“pageToken”被序列化为您检索到的最后一个集群密钥base64编码(或加密,如果包含敏感项),您可以在响应中传递该密钥。给出寻呼机令牌和计数,然后可以继续向下迭代。它将是高效的,并且只需替换偏移即可。如果集群密钥更小,看起来就不会那么奇怪了。例如,查看一些驱动程序支持某种类型的此功能,例如,DataStax Java驱动程序,您可以将其放入查询字符串或cookie中,然后从停止的位置继续。类似的功能存在于驱动程序中,Node.js、C++和其他潜在的驱动程序(没有检查)。但是这些只是“向前”迭代器

一些驱动程序支持某种类型的功能,例如,DataStax Java驱动程序,您可以将其放入查询字符串或cookie中,并从停止的位置继续。类似的功能存在于驱动程序中,Node.js、C++和其他潜在的驱动程序(没有检查)。但是,这些只是“向前”迭代器,而坚持经典的UI分页而不是只向前解析的最佳机会是什么(这对于帖子等来说很好,但对于表和其他内容来说不是很好)?您需要构建更复杂的东西,正如Chris所描述的-计算页面如何映射到集群键范围,例如,将此映射作为会话的一部分。坚持经典的UI分页而不是仅转发解析(这对帖子等很有效,但对表和其他内容不太有效)的最佳机会是什么?您需要构建更复杂的东西,如Chris所述-计算页面如何映射到集群键范围,并将此映射作为会话的一部分。