6

我需要使具有不同生存时间配置的项目过期。在某些情况下,表中的项目也不会在某些情况下过期。在 Cassandra 中,我们可以在记录级别写入时设置生存时间。在 DynamoDB 中,我只能在表级别看到 TimeToLive 配置(我也可能是错的。)但在项目级别看不到。

  1. 有没有办法在做 putItem 时在项目级别设置 TTL 或
  2. 在对整个系统影响最小的情况下删除记录的最佳做法是什么?

如果无法在项目级别设置 TTL,我想退回到第二个选项。

4

1 回答 1

10

DynamoDB 绝对可以在表中的项目级别上做到这一点。在表级配置中,您可以告诉 DynamoDB 将包含 TTL 值的属性名称。这个属性名可以是任何你想要的。然后,在您写入表的每个项目上,您都包含一个名为 what 您告诉 DynamoDB 查找的属性,其值采用纪元时间格式(以秒为单位)。一旦你这样做了,当该项目的时间到来时,DynamoDB 将在 24-48 小时内延迟删除该项目。最重要的是,删除对您来说是免费的。

有关如何启用 TTL 的更多信息,请访问此处。有关 TTL 工作原理的更多信息,请访问此处

于 2019-04-23T20:22:36.583 回答