我们如何从Cassandra返回ROW的TTL。
目前我正在提取TTL作为Select cql查询的一部分,例如选择NO,TTL; 然后使用Row.getInt(“TTL”);
还有其他更好的方法吗?
答案 0 :(得分:1)
PreparedStatement prep = session.prepare("SELECT val, TTL(val) from TABLE");
BoundStatement boundStmt = new BoundStatement(prep);
Row r = session.execute(boundStmt).one();
r.getInt("TTL(val)");
将以秒为单位为您提供值的TTL。
答案 1 :(得分:0)
每个单元格而不是行设置TTL。如果你想得到 从测试中选择val,TTL(val); 以秒为单位显示剩余的TTL
例如
> insert into test (id, val) VALUES (uuid(), 'some value') using ttl 100;
> select val, TTL(val) from test;
val | ttl(val)
---------------+--------------
hello world | 92
我在插入行后8秒执行了select查询。