在一定时间后删除一行

时间:2014-04-21 08:40:54

标签: cassandra cql

在特定时间后删除一行:

我在表格中插入通知。如果它是未读的,它将在那里,如果它被读取它应该在1周后删除。我将如何实现这一目标?

我正在使用TTL,但它似乎只会使列过期而不是行。

我想删除行。

2 个答案:

答案 0 :(得分:2)

创建第二个CF(称为记录,与通知表相同的键语义),您插入(w / TTL)看到的消息。同时从通知表中删除相同的消息。

要加载收件箱,您需要从两个CF读取。所看到的消息将在1周后自动删除,看不见的消息将永远消失。

答案 1 :(得分: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;