Я знаю, что это старый вопрос, но для всех пользователей Google, которые хотят получить ответ для версий 2.x +, вот документация DataStax на Определение времени жизни (TTL). Используя CQL с пространством клавиш excelsior
и семейством столбцов clicks
, вы создаете таблицу как обычно:
CREATE TABLE excelsior.clicks (
userid uuid,
url text,
name text,
PRIMARY KEY (userid, url)
);
Когда вы вставляете свои данные, вы задаете предложение USING TTL
, а затем количество секунд, в течение которых данные должны сохраняться:
INSERT INTO excelsior.clicks (
userid, url, name)
VALUES (
3715e600-2eb0-11e2-81c1-0800200c9a66,
'http://apache.org',
'Mary')
USING TTL 86400;
Обратите внимание, что 86400 - это количество секунд в дне. Вы также можете установить TTL с помощью подготовленного оператора в драйвере Java CQL, просто обработав его как любой другой связанный параметр:
String strCQL = "INSERT INTO excelsior.clicks (userid, url, name) "
+ "VALUES (?,?,?) USING TTL ? ";
boundStatement = new BoundStatement(statement);
mySession.execute(boundStatement.bind(
UUID.fromString("3715e600-2eb0-11e2-81c1-0800200c9a66"),
"http://apache.org",
"Mary",
86400) );