2014-05-23 23 views
12

İçine yerleştirilen tüm satırlar için varsayılan bir TTL'si olan bir tablo oluşturmak mümkün mü yoksa bir ekleme/güncelleştirme yaptığınızda her zaman TTL'yi ayarlamayı hatırlamanız gerekir mi? ?Varsayılan olarak cql3 kullanarak Cassandra tablosu oluşturma TTL

belgelerinde bu konuda bir şey görmek Cant:

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

+0

Ziklag, bu konuda bilgi farklı bir sayfaya aslında, (benim bağlantıya bakın default_time_to_live olarak sayfayı "Tablo özellikleri" aşağıda cevap). Şerefe. – reggoodwin

cevap

22

Evet tüm sütunu ailesi için TTL ayarlamak mümkündür.

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

Inserted rows then disappear after 10 seconds. 

Ben iş burada bunun için yapıldığını düşünüyoruz:

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

:

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

DataStax Patrick McFadin (@PatrickMcFadin) tarafından gönderilen bir doküman referans var Şerefe,

+0

Datastax bağlantısı 404'tür. –

+1

@SamB. Bağlantı düzeltildi. – Aaron

+0

Bu yanıtla ilgili soru: Doküman içinde şunları söylüyor: default_time_to_live değerini sıfır olarak ayarlayarak bir tablodaki herhangi bir sütun TTL'yi etkin bir şekilde silebilirsiniz. Bir satır yerine sütun siliyor anlamına mı geliyor? –

0

Fr om Cassandra doc:

Sen tablonun default_time_to_live özelliğini ayarlayarak bütün bir tablo için varsayılan TTL ayarlayabilirsiniz. Belirli bir sütunu için TTL tablosunun tanımladığı süreden daha uzun bir TTL ayarlamak isterseniz, Apache Cassandra ™ bir hata döndürür.

Bkz: TTL ile ilgili genel amaçlı burada https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_t.html

Ve: https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_c.html