如何使用生存时间 (TL) - Amazon Keyspaces (for Apache Cassandra)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

如何使用生存时间 (TL)

您可以使用 Amazon Keyspaces Keyspaces 用户(针对 Apache Cassandra)启用生存时间(针对 Apache Cassandra)。

要创建启用生存时间 (TL) 设置

按照以下步骤使用 Amazon Keyspaces Keyspaces 控制台,按照以下步骤操作。

  1. 通过以下链接登录并打开 Amazon Keyspaces Keyspaces 控制台:https://console.aws.amazon.com/keyspaces/home。Amazon Web Services Management Console

  2. 在导航窗格中,选择 Tables (表),然后选择 Create table (创建表)

  3. 创建表页面的表详细信息部分中,选择密钥空间并为新表提供名称。

  4. 架构部分中,为您的表创建架构。

  5. 表格设置部分中,选择自定义设置

  6. 继续启用生存时间 (TL)

    在此步骤中,您将为表选择默认 TL 设置。

    对于默认 TTL 时段,输入到期时间并选择您输入的时间单位,例如秒、天或年。亚马逊Keyspaces 将以秒为单位存储值。

  7. 选择 Create Table(创建表)。您的表是使用指定的默认 TTL 值创建的。

注意

您可以在 CQL 编辑器中使用数据操作语言 (DML) 来覆盖表中特定行或列的默认 TTL 设置。

要更新现有表生存时间 (TL) 设置,请按照以下链接登存时间 (TL) 设置:生存时间 (TL) 设置

按照以下步骤使用亚马逊Keyspaces 控制台更新现有表的上线时间设置。

  1. 通过以下链接登录并打开 Amazon Keyspaces Keyspaces 控制台:https://console.aws.amazon.com/keyspaces/home。Amazon Web Services Management Console

  2. 选择要更新的表,然后选择其他设置

  3. 继续选择 “生存时间 (TTL)”,然后选择 “编辑”

  4. 对于默认 TTL 时段,输入到期时间并选择您输入的时间单位,例如秒、天或年。亚马逊Keyspaces 将以秒为单位存储值。这不会改变现有行的 TTL 值。

  5. 定义 TTL 设置后,选择保存更改

要禁用现有表生存时间 (TL) 设置,请按照以下链接登存时间 (TL) 设置:生存时间 (TL) 设置

按照以下步骤使用亚马逊Keyspaces Amazon Web Services Management Console 禁用现有表的上线时间设置。

  1. 通过以下链接登录并打开 Amazon Keyspaces Keyspaces 控制台:https://console.aws.amazon.com/keyspaces/home。Amazon Web Services Management Console

  2. 选择要更新的表,然后选择其他设置

  3. 继续选择 “生存时间 (TTL)”,然后选择 “编辑”

  4. 选择默认 TTL 周期并将值设置为零。默认情况下,这将为将future 数据禁用表的 TTL。它不会更改现有行的 TTL 值。

  5. 定义 TTL 设置后,选择保存更改

要创建启用生存时间 (TL) 设置的新表,请按照以下链接登存时间 (TL) 设置

在创建新表时启用 TTL,默认 TTL 值设置为 3,024,000 秒,这表示 35 天。

CREATE TABLE my_table ( userid uuid, time timeuuid, subject text, body text, user inet, PRIMARY KEY (userid, time) ) WITH default_time_to_live = 3024000;

要确认新表的 TTL 设置,请使用以下示例所示的cqlshdescribe语句。输出将表的默认 TTL 设置显示为。default_time_to_live

describe my_table;

使用 C ALTER TABLE QL 编辑生存时间 (TL) 设置

将现有表的 TTL 设置更新为 2,592,000 秒,即 30 天。

ALTER TABLE my_table WITH default_time_to_live = 2592000;

要确认更新表的 TTL 设置,请使用以下示例所示的cqlshdescribe语句。输出将表的默认 TTL 设置显示为。default_time_to_live

describe my_table;

如何使用自定义属性在新表启用生存活时间 (TL)

要启用可应用于行和列的 Time to Live 自定义设置,而不启用整个表的 TTL 默认设置,可以使用以下 CQL 语句。

CREATE TABLE my_keyspace.my_table (id int primary key) WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};

ttl启用后,无法为表禁用它。

如何使用自定义属性启用生存活时间 (TL)

要启用可应用于行和列的 Time to Live 自定义设置,而不启用整个表的 TTL 默认设置,可以使用以下 CQL 语句。

ALTER TABLE my_table WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};

ttl启用后,无法为表禁用它。

INSERT用于使用 CQL 编辑生存时间 (TL) 设置

以下 CQL 语句在表中插入一行数据,并将默认 TTL 设置更改为 259,200 秒(相当于 3 天)。

INSERT INTO my_table (userid, time, subject, body, user) VALUES (B79CB3BA-745E-5D9A-8903-4A02327A7E09, 96a29100-5e25-11ec-90d7-b5d91eceda0a, 'Message', 'Hello','205.212.123.123') USING TTL 259200;

要确认插入行的 TTL 设置,请使用以下语句。

SELECT TTL (subject) from my_table;

UPDATE用于使用 CQL 编辑生存时间 (TL) 设置

要将之前插入的 “主题” 列的 TTL 设置从 259,200 秒(3 天)更改为 86,400 秒(一天),请使用以下语句。

UPDATE my_table USING TTL 86400 set subject = 'Updated Message' WHERE userid = B79CB3BA-745E-5D9A-8903-4A02327A7E09 and time = 96a29100-5e25-11ec-90d7-b5d91eceda0a;

您可以运行简单的选择查询,在到期时间之前查看更新的记录。

SELECT * from my_table;

查询显示以下输出。

userid | time | body | subject | user --------------------------------------+--------------------------------------+-------+-----------------+----------------- b79cb3ba-745e-5d9a-8903-4a02327a7e09 | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | Updated Message | 205.212.123.123 50554d6e-29bb-11e5-b345-feff819cdc9f | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123

要确认过期成功,请在配置的过期时间之后再次运行相同的查询。

SELECT * from my_table;

查询在 “主题” 列过期后显示以下输出。

userid | time | body | subject | user --------------------------------------+--------------------------------------+-------+---------+----------------- b79cb3ba-745e-5d9a-8903-4a02327a7e09 | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | null | 205.212.123.123 50554d6e-29bb-11e5-b345-feff819cdc9f | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123