文档过期字段是以日期、时间、秒或毫秒设置的吗?我知道只有几秒钟:
"expiration": 1543086426,所以1543086426 = Saturday, November 24, 2018 7:07:06 PM
那么为什么Cloudant要删除文档呢?如果是毫秒,那么:
1543086426 = Sunday 18 January 1970 12:38:06这就解释了。那么,如何为cloudant文档设置适当的过期值,例如从现在开始的1个月内?
另外,哪个Cloudant任务负责删除文档?它多久开始一次?
发布于 2018-11-04 02:01:59
正如CouchDB文档中所指出的
生存时间(TTL)是指文档在Couchbase Server中过期的时间。默认情况下,所有文档的TTL为零,这表示文档被无限期保存。通常,在添加、设置或替换信息时,通过将自定义TTL作为参数传递给方法调用,从而建立自定义TTL。作为正常维护操作的一部分,Couchbase Server定期删除所有过期时间已过的项。 根据要指定的文档存活时间,可以提供一个TTL值,作为未来或Unix时间的相对秒数。Unix时间表示一个特定的日期和时间,表示自1970年1月1日(星期四)以来在协调的世界时间(UTC)上经过的秒数。例如,值1421454149表示2015年1月17日星期六在协调世界时00:22:29。
但是,Cloudant不支持实时功能。
原因是IBM文档只是“软”删除,而不是删除。软删除涉及用较小的记录替换原始文档。此小记录或“墓碑”是复制目的所必需的;它有助于确保在复制过程中可以识别要使用的正确版本。
如果在increase中可以使用TTL功能,那么短期文档和软删除记录的潜在增长将意味着数据库大小可能以无限制的方式增长。
有关更多信息,请参阅此TTL上的链接
https://stackoverflow.com/questions/52996810
复制相似问题