在通过查询进行分页期间写入

时间:2016-10-28 08:50:57

标签: amazon-dynamodb

我们假设我查询具有特定哈希键的项目,而我正在迭代查询结果'页面,具有这种散列键的新项目被放入表中。它是否有可能出现在我要求的下一页中?

1 个答案:

答案 0 :(得分:1)

有可能。

如果新项目落在您检索的最后一页之后的某个位置,则可能会包含在下一个结果中。如果您的查询使用一致性读取,那么您将获得它。如果没有一致的读取,您可以获得它,但由于最终的一致性而无法保证。

当然,如果项目落在您上次检索的页面之前的范围内,那么您必须从顶部重新启动查询,因为项目是按范围键值的顺序返回的。

通过创建带有字符串分区键和数字范围键的表,可以非常轻松地进行测试。在for循环中,使用sam任意分区键值添加几十个千项。然后启动查询并获取第一页。返回第一页后,插入一个带有范围键值的项目,该值将落在下一页上,并对第二页进行查询(使用一致的读取以确保获得该项目),然后查找新项目结果。