Java 设置一些触发器,使用Spring Boot从DB中删除早于几分钟的行

Java 设置一些触发器,使用Spring Boot从DB中删除早于几分钟的行,java,spring,spring-boot,cassandra,spring-data,Java,Spring,Spring Boot,Cassandra,Spring Data,我在Spring Boot上有一个带有Cassandra DB的Java应用程序,我正在向DB Person实体写入数据。 DB中的每一行人员在5分钟大时必须删除,因此概念很简单: 某个人被添加到带有时间戳的数据库中,该人必须在5分钟后被删除 唯一想到的想法是设置Spring Scheduler,它每秒运行一次,检查每一行是否过期,如果过期,则将其删除。与每秒运行一次Spring Scheduler不同,您可以在每次记录后使用TimerTask(核心java)轻松创建一个计时器任务,您将创建一个

我在Spring Boot上有一个带有Cassandra DB的Java应用程序,我正在向DB Person实体写入数据。 DB中的每一行人员在5分钟大时必须删除,因此概念很简单:

某个人被添加到带有时间戳的数据库中,该人必须在5分钟后被删除


唯一想到的想法是设置Spring Scheduler,它每秒运行一次,检查每一行是否过期,如果过期,则将其删除。

与每秒运行一次Spring Scheduler不同,您可以在每次记录后使用TimerTask(核心java)轻松创建一个计时器任务,您将创建一个任务,该任务将在设置的时间间隔后执行并删除该记录。 PFB一些有用的链接和示例:


既然您将Cassandra用作DB,您可以利用Cassandra TTL功能

在数据插入过程中,必须以秒为单位指定“ttl”值ttl’值是数据的生存时间值。在该特定时间之后,数据将自动删除

cql中的TTL语法如下

INSERT INTO person (name, age) VALUES ('ExampleName', '39') USING TTL 300;

为什么必须在5分钟后删除它呢?为了简单起见,我写过它将是人实体,但它不会。这将是不同的(更复杂的描述)实体,5分钟的生命是合理的。你没有回答这个问题(我没有问任何关于人和实体的问题)。为什么必须在5分钟后将其删除?