【发布时间】:2016-03-28 07:02:56
【问题描述】:
在一定时间后删除一行:
我在表格中插入通知。如果未读,它将在那里,如果已读,则应在 1 周后删除。我将如何实现?
我正在使用 TTL,但它似乎只过期列而不是行。
我想删除行。
【问题讨论】:
在一定时间后删除一行:
我在表格中插入通知。如果未读,它将在那里,如果已读,则应在 1 周后删除。我将如何实现?
我正在使用 TTL,但它似乎只过期列而不是行。
我想删除行。
【问题讨论】:
创建第二个 CF(称为记录,与通知表具有相同的关键语义),您可以将看到的消息插入(带 TTL)到其中。同时,您从通知表中删除了同一条消息。
要加载收件箱,您需要从两个 CF 中读取。看到的消息将在 1 周后自动删除,而未看到的消息将永远存在。
【讨论】:
见:
https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_c.html
例子:
INSERT INTO users
(user_name, password)
VALUES ('cbrown', 'ch@ngem4a') USING TTL 86400;
【讨论】: