2013-09-28 1 views
16

Ho una famiglia tabella/colonna che sto inserendo righe che scadono dopo un certo periodo di tempo. E 'possibile poi interrogare la tabella per verificare quali righe stanno per scadere (per scopi diagnostici, vale a dire qualcosa di simile:Controlla una riga TTL in cassandra?

select subject, ?ttl? from discussions; 
+0

https://docs.datastax.com/en/cql/3.0/cql/cql_using/use_ttl_t.html – OrangeDog

risposta

34

Si può fare

select subject, TTL(subject) from discussions; 

per tornare il TTL restante in secondi per l'argomento.

Eg

> insert into discussions (uid, subject) VALUES (now(), 'hello') using ttl 100; 
> select subject, TTL(subject) from discussions; 

subject | ttl(subject) 
---------+-------------- 
    hello |   84 

da quando ho aspettato 16 secondi befor e eseguendo la selezione.

+0

Ottima risposta dettagliata ma concisa. Grazie! – Jacob

+1

questo non funziona per me: qualcun altro ha avuto lo stesso problema http://stackoverflow.com/questions/22201000/check-current-ttl-on-collection-columns-in-cassandra –

+0

Works for me. Magari postare una domanda nel dettaglio del tuo scenario esatto. – Jacob