DynamoDB上的TTL功能可以用作实际删除项目的免费替代方法吗?

如何解决DynamoDB上的TTL功能可以用作实际删除项目的免费替代方法吗?

我已经阅读了有关使用DynamoDB TTL使项目过期的开发人员指南,并且想知道是否有可能使用TTL作为删除的替代方法,而不是除删除之外的其他方法。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html

由于Amazon会在不占用任何写入单位的情况下(为他们方便)删除您的商品,是否有可能像这样完成我的所有删除?这个想法是创建没有TTL的项目,然后将其设置为当前时间而不是删除它们。我知道我必须添加一些逻辑来说明过期但未删除的项目,但是与节省相比,这似乎微不足道。

这可能吗?

解决方法

您是对的,因为这些项目本身将被删除而无需您承担任何费用,这确实使该过程可以免费删除。

从TTL时间开始,删除过程最多可能需要48个小时(这些项目作为后台操作排队),因此您需要确保您的应用程序执行将这些项目过滤掉的逻辑。

根据表的大小和活动级别,过期项目的实际删除操作可能会有所不同。由于TTL是一个后台进程,因此用于通过TTL过期和删除项目的容量的性质是可变的(但免费)。 TTL通常会在过期后48小时内删除过期项。

除非您要删除/更新大量数据,否则您将仅使用DynamoDB表剩余的任何可用WCU。

,

该想法是创建没有TTL的项目,然后代替 删除它们只是将TTL设置为当前时间。

那没有道理,您需要使用WCU来更新项目,不妨删除它。

在创建项目时可以设置TTL时,可以使用TTL免费删除该项目。

如果您有多个GSI,我想用更新设置TTL可能会有用。您只需为表的更新付费,删除将是免费的。而如果您删除表中的记录,则需要为表和GSI付费。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?