Cassandra Time-to-Live (TTL) er beskrevet i Datakattedokumentationen. Dette blogindlæg udforsker det kort for at demonstrere, at TTL er indstillet pr.
vi starter med at genskabe eksemplet i dokumentationen. Vi opretter et keyspace, en tabel og indsætter nogle data i den. TTL-værdien er meget lavere end den officielle dokumentation, da jeg ikke vil vente 24 timer, før TTL løber tør.
nu hvor vi har oprettet vores keyspace og tabel, lad os forespørge TTL:
cqlsh> SELECT TTL (date), TTL (name) from excelsior.clicks; ttl(date) | ttl(name)----------------------- 52 | 52
Indsæt eller Opdater for at ændre TTL pr. kolonne
som vist af CKL-synatsen er TTL angivet pr.kolonne. For at demonstrere dette indsætter vi nu dataene igen, men udelukker datoen.
hvis vi derefter venter 11 sekunder, kan vi se, at forskellige kolonner kan udløbe på forskellige tidspunkter.
cqlsh> select * from excelsior.clicks; userid | url | date | name--------------------------------------+-------------------+------+------ 3715e600-2eb0-11e2-81c1-0800200c9a66 | http://apache.org | null | Mary
dette kan komme som en overraskelse, hvis du er vant til rækker opfører sig som en enkelt enhed. Hvis du vil opdatere TTL for en hel række i Cassandra, skal du enten indsætte eller opdatere hele rækken igen med en ny TTL.