Cassandra Time-To-Live (TTL) er beskrevet i Datastax dokumentasjonen. Dette blogginnlegget utforsker kort det for å demonstrere AT TTL er satt per kolonne, og ikke per rad.
vi starter med å gjenskape eksemplet gitt i dokumentasjonen. Vi lager en nøkkelplass, et bord og legger inn noen data i den. TTL-verdien er mye lavere enn den offisielle dokumentasjonen, da jeg ikke vil vente 24 timer før TTL løper ut.
Nå som vi har opprettet vår nøkkelplass og tabell, la oss spørre ttl:
cqlsh> SELECT TTL (date), TTL (name) from excelsior.clicks; ttl(date) | ttl(name)----------------------- 52 | 52
Sett inn Eller Oppdater for å endre TTL per kolonne
som demonstrert AV CQL synatx, ER TTL angitt per kolonne. For å demonstrere dette, legger vi nå inn dataene igjen, men utelukker datoen.
hvis vi venter 11 sekunder, kan vi se at forskjellige kolonner kan utløpe på forskjellige 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 rader som oppfører seg som en enkelt enhet. Hvis DU vil oppdatere TTL for en hel rad I Cassandra, må du enten sette inn eller oppdatere hele raden igjen med en ny TTL.