我创建了一个表格,如:
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秒。那是为什么?
答案 0 :(得分:4)
正如@RussS所证实的那样,遗憾的是,当有计数器时,Cassandra不支持表或行上的TTL。
即使在创建表时设置了default_time_to_live
并且没有返回错误,Cassandra也不会强制执行TTL。