【问题标题】:Deleting a row after certain time在一定时间后删除一行
【发布时间】:2016-03-28 07:02:56
【问题描述】:

在一定时间后删除一行:

我在表格中插入通知。如果未读,它将在那里,如果已读,则应在 1 周后删除。我将如何实现?

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

我想删除行。

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    创建第二个 CF(称为记录,与通知表具有相同的关键语义),您可以将看到的消息插入(带 TTL)到其中。同时,您从通知表中删除了同一条消息。

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

    【讨论】:

    • 如何自动删除行?
    【解决方案2】:

    见:

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 2016-01-30
      • 2013-05-12
      • 1970-01-01
      相关资源
      最近更新 更多