2014-05-23 14 views
12

Czy można utworzyć tabelę z domyślnym TTL dla wszystkich wierszy, które są do niej wstawiane, czy też zawsze należy pamiętać o ustawieniu TTL podczas wstawiania/aktualizacji ?Utwórz tabelę Cassandra przy użyciu cql3 z domyślnym TTL

mogę zobaczyć coś na ten temat w dokumentacji:

http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/create_table_r.html

+0

Siklag, informacja o tym jest rzeczywiście w innej strony, „tabela atrybutów” stronę jako default_time_to_live (patrz mój link w odpowiedzi poniżej). Twoje zdrowie. – reggoodwin

Odpowiedz

22

Tak to jest możliwe ustawienie TTL dla całej rodziny kolumny.

CREATE TABLE test_table (
    # your table definition # 
) WITH default_time_to_live = 10; 

Inserted rows then disappear after 10 seconds. 

Wierzę, że praca została wykonana dla niego tutaj:

https://issues.apache.org/jira/browse/CASSANDRA-3974

Oto odniesienia docs wysłana przez Patricka McFadin z DataStax (@PatrickMcFadin):

http://docs.datastax.com/en/cql/3.1/cql/cql_reference/tabProp.html

Pozdrowienia,

+0

Łącze do datastaksu to 404. –

+1

@SamB. Link został naprawiony. – Aaron

+0

Pytanie dotyczące tej odpowiedzi: W dokumencie jest napisane: Można efektywnie usunąć wszystkie kolumny TTL w tabeli, ustawiając wartość default_time_to_live na zero. Czy oznacza to usunięcie kolumny zamiast wiersza? –

0

Fr om Cassandra doc:

Możesz ustawić domyślny czas TTL dla całej tabeli, ustawiając domyślną właściwość default_time_to_live tabeli: . Jeśli spróbujesz ustawić wartość TTL dla konkretnej kolumny dłuższej niż czas zdefiniowany w tabeli TTL, Apache Cassandra ™ zwróci błąd.

Patrz: https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_t.html

I tu w celach ogólnych około TTL: https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_c.html

Powiązane problemy