什么是云端文档到期字段?

Joh*_*abb 7 cloudant ibm-cloud

文档到期字段是使用日期时间还是秒或毫秒设置的?据我所知,这是秒:

"expiration": 1543086426,
Run Code Online (Sandbox Code Playgroud)

所以 1543086426 = Saturday, November 24, 2018 7:07:06 PM

那么为什么Cloudant会删除该文档?如果是毫秒,那么:

1543086426 =  Sunday 18 January 1970 12:38:06
Run Code Online (Sandbox Code Playgroud)

这解释了.那么如何为cloudant文档设置合适的到期值,例如在1个月后呢?

此外,哪个Cloudant任务负责删除文档?它开始的频率是多少?

Vid*_*lli 2

正如 CouchDB 文档中指出的

生存时间 (TTL) 是文档在 Couchbase Server 中过期之前的时间量。默认情况下,所有文档的 TTL 为零,这表示文档将无限期保留。通常,当您添加、设置或替换信息时,您可以通过将自定义 TTL 作为参数传递给方法调用来建立自定义 TTL。作为正常维护操作的一部分,Couchbase Server 会定期删除过期时间已过的所有项目。

根据您要指定的文档生存时间,您可以提供一个 TTL 值,作为未来或 Unix 时间的相对秒数。Unix 时间表示特定的日期和时间,表示为自 1970 年 1 月 1 日星期四 00:00:00 协调世界时 (UTC) 以来经过的秒数。例如,值 1421454149 表示 UTC 时间 2015 年 1 月 17 日星期六 00:22:29。

但是,Cloudant 不支持生存时间函数。

原因是 IBM Cloudant 文档只是“软”删除,而不是删除。软删除涉及用较小的记录替换原始文档。需要这个小记录或“墓碑”来进行复制;它有助于确保在复制过程中可以识别要使用的正确修订版。

如果 IBM Cloudant 中提供 TTL 功能,那么短期文档和软删除记录的潜在增加将意味着数据库大小可能会无限增长。

有关更多信息,请参阅TTL 上的此链接