【问题标题】:How to set TTL on one record rather than on an entire row?如何在一条记录而不是整行上设置 TTL?
【发布时间】:2017-10-30 09:52:05
【问题描述】:

Cassandra 中是否有任何方法可以仅为一条记录(一列)设置 TTL,而不是为整行设置 TTL。例如,有一个包含临时用户数据的表,其中有一个 OTP 字段,该字段在 30 分钟内到期。我正在尝试弄清楚如何仅在 OTP 记录上而不是在整个用户字段行上设置 TTL。

到目前为止,我发现的所有示例都在整行上设置了 TTL,而不是在任何特定记录上。 我正在为 Cassandra 使用 Spring Data。

【问题讨论】:

    标签: spring cassandra spring-data spring-data-cassandra


    【解决方案1】:

    使用带有 TTL 的单独查询插入字段

    如果您的表名是 users,主键是 userid,则使用 TTL 30 * 60 = 1800 秒插入带有 useridOTP 字段

    INSERT INTO users(userid, OTP) values(?, ?) USING TTL 1800;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2023-01-31
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多