【问题标题】:How to expire each element of a collection by setting an individual time-to-live (TTL) property in Cassandra?如何通过在 Cassandra 中设置单独的生存时间 (TTL) 属性来使集合的每个元素过期?
【发布时间】:2016-07-10 01:09:16
【问题描述】:

如何通过在 Cassandra 中设置单独的生存时间 (TTL) 属性来使集合中的每个元素过期?

文档在此处,但我找不到示例。 (https://docs.datastax.com/en/cql/3.3/cql/cql_using/useExpire.html)

【问题讨论】:

  • 到目前为止你做了什么?
  • 嗨 @TungD.Nguyen,我正在构建一个 cassandra 数据库来持久化 Kafka(kafka.apache.org) 事件,然后使用 Cassandra 中的数据进行一些机器学习。 我还处于开发阶段,这几天我会用超过400万个条目来测试这个解决方案,看看有没有问题。

标签: cassandra ttl


【解决方案1】:


如果您想在 cassandra 的同一列集合(集合、列表、映射)中具有不同的 TTL。

喜欢这个例子:

有一个表 -> tableName
其中一列 (col1) 文本类型的主键
类型为

的列 (col2)
UPDATE tableName USING TTL 30 SET col2=col2+{11} WHERE col1=-10;
UPDATE tableName USING TTL 88 SET col2=col2+{22} WHERE col1=-10;

在示例中,我将插入到集合中的值,{11} 具有 TTL=30 和 {22} 具有 TTL=88。
当一个元素超过 TTL 时,它会被自动删除。
当集合中的所有元素都超过 TTL 且集合为空时,该行也被删除。

【讨论】:

  • 我不知道为什么这没有得到更多的支持,我无法在任何地方找到此信息,这里是......从 2016 年开始。救生员,谢谢!
猜你喜欢
  • 2019-01-08
  • 2021-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-05
  • 2017-11-28
相关资源
最近更新 更多