Mar*_*ark 5 database cql ttl cassandra
我创建了一个像这样的表:
CREATE TABLE IF NOT EXISTS metrics_second(
timestamp timestamp,
value counter,
PRIMARY KEY ((timestamp))
) WITH default_time_to_live=1;
Run Code Online (Sandbox Code Playgroud)
并插入一些数据,如:
UPDATE metrics_second SET value = value + 1 WHERE timestamp = '2015-01-22 17:43:55-0800';
Run Code Online (Sandbox Code Playgroud)
执行时SELECT * FROM metrics_second我总是看到数据,即使在一分钟左右之后,尽管default_time_to_live表的属性设置为一秒.这是为什么?
正如@RussS 所证实的那样,不幸的是,当存在计数器时,Cassandra 不支持表或行上的 TTL。
即使default_time_to_live在创建表时设置了 且没有返回错误,Cassandra 也不会强制执行 TTL。