我目前有一个包含以下列的表结构:
pk (partition key)
sk (sort key)
attr_1
attr_2
ttl
这里
pk
和 sk
都是字符串值。 pk
是一个域字符串(想想神奇宝贝名称),sk
是创建条目时的时间戳表示。下面是一些示例数据:
[pikachu, 2024-01-03 18:00:00, v5, v6, 5th jan 2024 (in its epoch format)]
[pikachu, 2024-01-02 18:00:00, v3, v4, 4th jan 2024 (in its epoch format)]
[pikachu, 2024-01-01 18:00:00, v1, v2, 3rd jan 2024 (in its epoch format)]
所以这里的问题是 - 考虑到我在一个
ttl
上有多个 pk
,最旧的条目(上面第 3 行)是否会在到期时间到期(当然我知道删除不是瞬时的,但你会得到要点)。
我的困惑源于这样一个事实:DynamoDB 的所有
ttl
文档都讨论了某个项目的过期,但就我而言,pk
是在多个项目之间共享的。对此的任何澄清将不胜感激,干杯。
如果是瞬时的,则第 3 行将首先被删除,因为它具有最旧的 TTL 值。
但是,如果时间范围足够接近(秒、分钟、小时),您通常会看到所有项目同时被删除。
如果您正在寻找删除它们的具体顺序,则无法保证。但是,由于 DynamoDB 按排序键的升序存储数据,我假设最年轻的项目将首先删除,然后立即删除其他两个。