java - 触发 TTL 删除 Cassandra
问题描述
我目前正在用 Java 构建一个使用 Cassandra 数据库的应用程序,并且我希望有一个表在另一个 Cassandra 表中过期时接收数据。有没有办法实现可以做到这一点的触发器?
解决方案
数据实际上不会在计时器或任何东西上过期。数据使用 ttl 写入磁盘。如果读取ttl + writetime < now
它,它将认为它是墓碑而不是数据。然后,gc_grace_seconds
它最终会在压实时被清除。因此,当数据过期时,可能需要几天时间才能真正从磁盘中删除,这取决于压缩策略。
但要回答问题,不,你不能。