Cassandra Time-To-Live (TTL) is decribed in the Datastax documentation. Tämä blogikirjoitus tutkii sitä lyhyesti osoittaakseen, että TTL on asetettu saraketta kohti eikä riviä kohti.
aloitamme laatimalla uudelleen dokumentaatiossa annetun esimerkin. Luomme avaintilan, taulukon ja lisäämme siihen dataa. TTL-arvo on paljon pienempi kuin virallinen dokumentaatio, koska en halua odottaa 24 tuntia ennen kuin TTL loppuu.
nyt kun olemme luoneet avaintilan ja taulukon, kysellään TTL:
cqlsh> SELECT TTL (date), TTL (name) from excelsior.clicks; ttl(date) | ttl(name)----------------------- 52 | 52
Lisää tai Päivitä TTL: n muuttamiseksi saraketta kohti
kuten CQL synatx osoittaa, TTL asetetaan saraketta kohti. Tämän osoittamiseksi lisäämme nyt TIEDOT uudelleen, mutta jätämme päivämäärän pois.
jos sitten odotamme 11 sekuntia, näemme, että eri sarakkeet voivat vanheta eri aikoina.
cqlsh> select * from excelsior.clicks; userid | url | date | name--------------------------------------+-------------------+------+------ 3715e600-2eb0-11e2-81c1-0800200c9a66 | http://apache.org | null | Mary
tämä voi tulla yllätyksenä, jos on tottunut rivien käyttäytyvän yhtenä kokonaisuutena. Jos haluat päivittää TTL: n koko rivin osalta cassandrassa, sinun on joko lisättävä tai päivitettävä koko rivi uudelleen uudella TTL: llä.