Cassandra" default_time_to_live"属性不会删除数据

时间:2015-01-24 00:14:03

标签: database cassandra cql ttl

我创建了一个表格,如:

CREATE TABLE IF NOT EXISTS metrics_second(
  timestamp timestamp,
  value counter,
  PRIMARY KEY ((timestamp))
) WITH default_time_to_live=1;

并插入了一些数据:

UPDATE metrics_second SET value = value + 1 WHERE timestamp = '2015-01-22 17:43:55-0800';

执行SELECT * FROM metrics_second时,我总是会看到数据,即使在一分钟左右之后,尽管表的default_time_to_live属性设置为1秒。那是为什么?

1 个答案:

答案 0 :(得分:4)

正如@RussS所证实的那样,遗憾的是,当有计数器时,Cassandra不支持表或行上的TTL。

即使在创建表时设置了default_time_to_live并且没有返回错误,Cassandra也不会强制执行TTL。