2016-06-15 67 views
1

我們如何獲得從Cassandra返回的ROW的TTL。TTL從datastax java驅動程序的ROW對象中獲取

當前我正在將TTL作爲Select cql查詢的一部分獲取,例如, SELECT NO,TTL; 然後使用Row.getInt(「TTL」);

有沒有其他更好的方法來做到這一點。

回答

1

TTLs設置爲每個單元格而不是行。如果你想得到 從測試中選擇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 

我執行select查詢插入行後8秒。

0
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值。

相關問題