使用生存时间(TTL)为春季数据Cassandra存储库



无法将TTL与基于弹簧数据CassandraRepository的实现一起使用。

弹簧数据卡桑德拉版本:最新

我正在尝试使用基于弹簧数据存储库的实现使用 cassandra 的 TTL 属性进行保存操作。 但是查看参考文档(https://docs.spring.io/spring-data/cassandra/docs/current/reference/html/(,我没有看到任何直接使用它的方法。

尽管文档提到我们可以使用它,但没有为基于存储库的实现提供示例。请注意,我看到一些使用 cqlTemplate 和 cassadraOperations的示例。但没有存储库。

No code written yet as I am trying to figure out how to use it

期望是存储库保存/更新方法上的某种@TTL(以秒为单位的值(注释,以便于实现。

参考 A Sarkar 在这篇文章中的回答 使用 spring-data-cassandra 在 spring boot 应用程序中的 TTL 支持

请在此处查看我的示例代码,https://github.com/nontster/spring-data-cassandra-demo

我从本教程中借用示例代码 https://www.baeldung.com/spring-data-cassandra-tutorial

您需要先创建演示密钥空间,然后才能运行此代码,

CREATE KEYSPACE demo WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 1};

在 BookRepositoryIntegrationTest 中运行 saveBookTest(( 方法.java您可以通过列看到倒计时 TTL(我将 TTL 设置为 600 秒(

cqlsh:demo> SELECT title,TTL(year) FROM Book WHERE title='Head First Java' AND publisher='O''Reilly Media';
 title           | ttl(year)
-----------------+-----------
 Head First Java |       597

(1 行(

最新更新