Java 卡桑德拉每日数据清除?
我在cassandra中有一个专栏族,用于存储日常信息。如果是每天,我认为它应该每天被删除 所以,我想知道,是否有可能在cassandra中配置对这些数据的清除 我来这里是因为我在cassandra的页面中没有找到任何关于数据清除的更深入的信息Java 卡桑德拉每日数据清除?,java,database,cassandra,hector,Java,Database,Cassandra,Hector,我在cassandra中有一个专栏族,用于存储日常信息。如果是每天,我认为它应该每天被删除 所以,我想知道,是否有可能在cassandra中配置对这些数据的清除 我来这里是因为我在cassandra的页面中没有找到任何关于数据清除的更深入的信息 谢谢 还没有使用它,但是Cassandra 0.7为列提供了一个TTL。也许这会对您有所帮助,它基本上会在经过一段时间后删除列: 我知道这是一个老问题,但对于任何想要2.x+版本答案的谷歌用户来说,这里是(TTL)上的DataStax文档。使用带有exc
谢谢 还没有使用它,但是Cassandra 0.7为列提供了一个TTL。也许这会对您有所帮助,它基本上会在经过一段时间后删除列:
我知道这是一个老问题,但对于任何想要2.x+版本答案的谷歌用户来说,这里是(TTL)上的DataStax文档。使用带有
excelsior
键空间和单击
列族的CQL,您可以像往常一样创建表:
CREATE TABLE excelsior.clicks (
userid uuid,
url text,
name text,
PRIMARY KEY (userid, url)
);
插入数据时,使用TTL子句指定,后跟数据应保持的秒数:
INSERT INTO excelsior.clicks (
userid, url, name)
VALUES (
3715e600-2eb0-11e2-81c1-0800200c9a66,
'http://apache.org',
'Mary')
USING TTL 86400;
请注意,86400是一天中的秒数。您还可以在Java CQL驱动程序中使用设置TTL,只需将其视为任何其他绑定参数:
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) );