gpt4 book ai didi

java - 使用 Datastax CQL 驱动程序插入 Cassandra 时设置 TTL

转载 作者:行者123 更新时间:2023-11-30 08:29:01 24 4
gpt4 key购买 nike

谁能告诉我为什么这不起作用?它似乎没有设置TTL;这些列永远不会被删除。不过,在 cqlsh 中使用 INSERT INTO 确实如此,因此 Cassandra 本身没有任何问题。

    StringBuffer cql = new StringBuffer("INSERT INTO ");
cql.append(getKeyspace());
cql.append(".taskitems ");
cql.append(/* long field list */);
cql.append(" VALUES ");
cql.append("(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) USING TTL 30");
//cql.append(getTimeToLive()); // commented out, trying hardcoded value above

PreparedStatement statement = session.prepare(cql.toString());

session.execute( statement.bind(
/* lots o' fields */
));

(Cassandra v2.0.0,驱动程序 v1.0。)

最佳答案

您的问题是由于 datastax-java-driver 和 Cassandra 之间的驱动程序不匹配(两者都应该是 v1 或都应该是 v2)- 尝试将 datastax-java-driver 升级到 v2。

还值得使用 datastax-java-driver QueryBuilder ,这比手动构建 String 查询更不容易出错。 (datastax-java-driver v1 QueryBuilder javadocs 是 here。)

关于java - 使用 Datastax CQL 驱动程序插入 Cassandra 时设置 TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19806940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com