小编Tsa*_*nas的帖子

DynamoDB一致读取全局二级索引

为什么我无法获得对全局二级索引的一致读取?

我有以下设置:

表格:tblUsers(id为哈希)

全球二级索引:(tblUsersEmailIndex电子邮件为哈希,id为属性)

全局二级索引:(tblUsersUsernameIndex用户名为哈希,ID为属性)

我查询索引以检查是否存在给定的电子邮件或用户名,因此我不创建重复的用户。

现在,问题是我无法对索引进行一致的读取。但是为什么不呢?这是我实际上需要最新数据的少数情况之一。

根据AWS文档:

关于全局二级索引的查询仅支持最终一致性。

在正常情况下,表数据的更改会在不到一秒钟的时间内传播到全局二级索引。但是,在某些不太可能的故障情况下,可能会出现更长的传播延迟。因此,您的应用程序需要预见并处理以下情况:对全局二级索引的查询返回的结果不是最新的

但是我该如何处理这种情况?如何确定给定的电子邮件或用户名不存在于数据库中?

asp.net amazon-web-services amazon-dynamodb asp.net-mvc-5 asp.net-identity

6
推荐指数
1
解决办法
2846
查看次数