本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何使用生存时间 (TL)
您可以使用 Amazon Keyspaces(Apache Cassandra 兼容)控制台或 CQL 启用、更新和禁用“生存时间”设置。
主题
创建启用了默认生存时间 (TTL) 设置的新表(控制台)
按照以下步骤,使用 Amazon Keyspaces 控制台创建启用了生存时间设置的新表。
登录 https://console.aws.amazon.com/keyspaces/home
,然后打开 Amazon Web Services Management Console Amazon Keyspaces 控制台。 -
在导航窗格中,选择 Tables (表),然后选择 Create table (创建表)。
-
在创建表页面的表详细信息部分中,选择一个键空间并为新表提供一个名称。
-
在架构部分,为您的表创建架构。
在表设置部分,选择自定义设置。
-
继续设置生存时间 (TTL)。
在此步骤中,您为表选择默认 TTL 设置。
对于默认 TTL 周期,输入到期时间并选择您输入的时间单位,例如秒、天或年。Amazon Keyspaces 将在几秒钟内存储值。
-
选择 Create Table(创建表)。系统将使用使用指定的默认 TTL 值创建您的表。
注意
通过使用 CQL 编辑器中的数据操作语言 (DML),可以覆盖特定行或列的表默认 TTL 设置。
更新现有表的默认生存时间 (TTL) 设置(控制台)
按照以下步骤,使用 Amazon Keyspaces 控制台更新现有表的生存时间设置。
-
登录 https://console.aws.amazon.com/keyspaces/home
,然后打开 Amazon Web Services Management Console Amazon Keyspaces 控制台。 -
选择要更新的表,然后选择其他设置选项卡。
-
继续选择生存时间 (TTL),然后选择编辑。
-
对于默认 TTL 周期,输入到期时间并选择您输入的时间单位,例如秒、天或年。Amazon Keyspaces 将在几秒钟内存储值。这不会更改现有行的 TTL 值。
-
定义 TTL 设置后,选择保存更改。
禁用现有表的默认生存时间 (TTL) 设置(控制台)
按照以下步骤使用 Amazon Key Amazon Web Services Management Console禁用现有表的生存时间设置。
-
登录 https://console.aws.amazon.com/keyspaces/home
,然后打开 Amazon Web Services Management Console Amazon Keyspaces 控制台。 -
选择要更新的表,然后选择其他设置选项卡。
-
继续选择生存时间 (TTL),然后选择编辑。
-
选择默认 TTL 周期,并将该值设置为零。这会禁用表中未来数据的默认 TTL。它不会更改现有行的 TTL 值。
-
定义 TTL 设置后,选择保存更改。
使用 CQL 创建启用了默认生存时间 (TTL) 设置的新表
在创建新表时启用 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
;
使用 CQL 通过 ALTER TABLE
编辑默认生存时间 (TTL) 设置
将现有表的 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
;
如何使用自定义属性在新表上启用生存时间 (TTL)
要在不对整个表启用 TTL 默认设置的情况下启用可应用于行和列的生存时间自定义设置,可以使用以下 CQL 语句。
CREATE TABLE
my_keyspace.my_table
(id int primary key) WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};
为表启用 ttl
后便无法禁用该设置。
如何使用自定义属性对现有表启用生存时间 (TTL)
要在不对整个表启用 TTL 默认设置的情况下启用可应用于行和列的生存时间自定义设置,可以使用以下 CQL 语句。
ALTER TABLE
my_table
WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};
为表启用 ttl
后便无法禁用该设置。
使用 CQL 通过 INSERT
编辑自定义生存时间 (TTL) 设置
以下 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
;
使用 CQL 通过 UPDATE
编辑自定义生存时间 (TTL) 设置
要将前面插入的 subject 列的 TTL 设置从 259,200 秒(3 天)改为 86,400 秒(1 天),请使用以下语句。
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
;
在 subject 列过期后,该查询会显示以下输出。
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