本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何使用生存时间 (TL)
您可以使用 Amazon Keyspaces Keyspaces 用户(针对 Apache Cassandra)启用生存时间(针对 Apache Cassandra)。
主题
要创建启用生存时间 (TL) 设置
按照以下步骤使用 Amazon Keyspaces Keyspaces 控制台,按照以下步骤操作。
通过以下链接登录并打开 Amazon Keyspaces Keyspaces 控制台:https://console.aws.amazon.com/keyspaces/home
。Amazon Web Services Management Console -
在导航窗格中,选择 Tables (表),然后选择 Create table (创建表)。
-
在创建表页面的表详细信息部分中,选择密钥空间并为新表提供名称。
-
在架构部分中,为您的表创建架构。
在表格设置部分中,选择自定义设置。
-
继续启用生存时间 (TL)。
在此步骤中,您将为表选择默认 TL 设置。
对于默认 TTL 时段,输入到期时间并选择您输入的时间单位,例如秒、天或年。亚马逊Keyspaces 将以秒为单位存储值。
-
选择 Create Table(创建表)。您的表是使用指定的默认 TTL 值创建的。
注意
您可以在 CQL 编辑器中使用数据操作语言 (DML) 来覆盖表中特定行或列的默认 TTL 设置。
要更新现有表生存时间 (TL) 设置,请按照以下链接登存时间 (TL) 设置:生存时间 (TL) 设置
按照以下步骤使用亚马逊Keyspaces 控制台更新现有表的上线时间设置。
-
通过以下链接登录并打开 Amazon Keyspaces Keyspaces 控制台:https://console.aws.amazon.com/keyspaces/home
。Amazon Web Services Management Console -
选择要更新的表,然后选择其他设置。
-
继续选择 “生存时间 (TTL)”,然后选择 “编辑”。
-
对于默认 TTL 时段,输入到期时间并选择您输入的时间单位,例如秒、天或年。亚马逊Keyspaces 将以秒为单位存储值。这不会改变现有行的 TTL 值。
-
定义 TTL 设置后,选择保存更改。
要禁用现有表生存时间 (TL) 设置,请按照以下链接登存时间 (TL) 设置:生存时间 (TL) 设置
按照以下步骤使用亚马逊Keyspaces Amazon Web Services Management Console 禁用现有表的上线时间设置。
-
通过以下链接登录并打开 Amazon Keyspaces Keyspaces 控制台:https://console.aws.amazon.com/keyspaces/home
。Amazon Web Services Management Console -
选择要更新的表,然后选择其他设置。
-
继续选择 “生存时间 (TTL)”,然后选择 “编辑”。
-
选择默认 TTL 周期并将值设置为零。默认情况下,这将为将future 数据禁用表的 TTL。它不会更改现有行的 TTL 值。
-
定义 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 设置,请使用以下示例所示的cqlsh
describe
语句。输出将表的默认 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 设置,请使用以下示例所示的cqlsh
describe
语句。输出将表的默认 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