Я знаю, что это старый вопрос, но для всех сотрудников 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) );
person
Aaron
schedule
12.08.2014