是否有任何选项,例如 Aurora db 中的生存时间、dynamoDb 中的生存时间,它会在过期时间后自动删除数据。
Amazon Aurora 中没有类似的特定功能,但是如果您使用 Aurora for MySQL,则可以使用:
a) MySQL 事件调度程序 设置删除旧记录的例程。
这是一个很好的例子https://stackoverflow.com/a/19400466/338477
b) 简单的 cron 作业或 AWS EventBridge Scheduler / AWS Batch 来运行脚本来删除过时的记录
在这两种情况下,我都不会依赖这些“后台解决方案”,而是在代码中放入一个逻辑子句,又名:
SELECT ... WHERE ... AND created_at + INTERVAL <TTL> MINUTES >= NOW();
附注请记住,调用
NOW()
可能会导致避免查询缓存的使用,从而可能导致性能损失。