实现唯一ID Dyn​​amoDB Swift的最佳方式

时间:2017-03-30 17:32:42

标签: swift amazon-web-services amazon-dynamodb

我正在开发一个应用,用户可以创建使用Amazon DynamoDB的帖子。数据库中的帖子项的一个属性是postId。我正在寻找在创建时设置此值的最佳实践。到目前为止,我已经想过:

  1. 计算数据库中的当前项目,然后将值指定为postId = dbcount + 1。我无法使用Swift找到DynamoDB的计数方法,我找到的方法(扫描和描述)效率低或准确。另外,我想到了2个用户同时发布的情况。
  2. 我可以使用Swift创建一个UUID并将postId设置为此值。
  3. 根据这2个选项,哪条路线更好?有首选的行业标准吗?选项2似乎是更好的选择,但我不确定。还有其他潜在的替代方案吗?谢谢!

1 个答案:

答案 0 :(得分:1)

我肯定会远离选项1 - 因为你说竞争条件的可能性太高而且实施起来也可能很昂贵。

UUID肯定会有所作为,并且可能是最不痛苦的。但是,还有其他选择。 https://devnet.kentico.com/questions/tilde-being-added-to-src-attribute-of-image-tags-in-static-html-webpart会起作用。有点复杂,但你甚至可以使用atomic counter。但这样做的逻辑将是一种痛苦。

UUID的优点是生成它,以便它可以用作子表中的一行数据。