Ich verwende Datastax mit Cassandra. Ich möchte, dass eine Zeile nach 15 Minuten automatisch gelöscht wird. Aber die Reihe bleibt noch.Cassandra TTL funktioniert nicht
Mein Code ist unten:
Insert insertStatement = QueryBuilder.insertInto(keySpace, "device_activity");
insertStatement.using(QueryBuilder.ttl(15* 60));
insertStatement.value("device", UUID.fromString(persistData.getSourceId()));
insertStatement.value("lastupdatedtime", persistData.getLastUpdatedTime());
insertStatement.value("devicename", persistData.getDeviceName());
insertStatement.value("datasourcename", persistData.getDatasourceName());
Die Tabelle besteht aus 4 Spalten: Vorrichtung (UUID), Datasource (Text), Gerätename (text), lastupdatedtime (Zeitstempel).
Wenn ich die TTL eines Feldes abfragen zeigt es mir 4126 Sekunden, was falsch ist. // Wählen Sie TTL (Gerätename) von device_activity; // Gibt mir 4126 Sekunden
Die Abfrage schließlich in devicecloud_test.device_activity (Gerät, lastupdatedtime, Gerätename, Datasource) VALUES (ca5cff1f-B23a INSERT ausgeführt werden -426a-ba3f-f13300a2d8e6,1461150305100, 'TestBench162', '259642460471175') VERWENDUNG VON TTL 60; – Renukaradhya
Ich verstehe nicht, ist die TTL, die von Cassandra verwendet wird, 4126 oder 60 Sekunden? – doanduyhai
Ich habe 900 Sekunden gegeben, aber Cassandra zeigt mir 4126 Sekunden – Renukaradhya