文档到期字段是否设置为日期时间或秒或毫秒? 据我所知是秒:
"expiration": 1543086426,
所以1543086426 = Saturday, November 24, 2018 7:07:06 PM
那么为什么Cloudant会删除文档? 如果是毫秒,则:
1543086426 = Sunday 18 January 1970 12:38:06
解释。那么我如何为cloudant文档设置适当的到期值,例如从现在起1个月后?
此外,哪个Cloudant任务负责文档的删除?以及它开始的频率?
答案 0 :(得分:2)
CouchDB文档中指出
生存时间(TTL)是指文档到期的时间 Couchbase服务器。默认情况下,所有文档的TTL为零,即 表示文档被无限期保存。通常,当您添加时, 设置或替换信息,则通过传递自定义TTL 作为方法调用的参数。作为常规维护的一部分 操作,Couchbase Server会定期删除所有带有 过期时间已过去。
取决于要为文档指定的时间 为了生存,您提供TTL值作为相对秒数 未来或Unix时代。 Unix时间代表一个特定的日期, 时间,表示为自此以来经过的秒数 1970年1月1日,星期四,00:00:00协调世界时(UTC) 。例如,值1421454149代表1月17日,星期六 2015 at UTC:22:29。
但是,Cloudant不支持生存时间功能。
原因是IBM Cloudant文档仅被“软”删除,而不被删除。软删除包括用较小的记录替换原始文档。出于复制目的,需要此小记录或“逻辑删除”;它有助于确保在复制过程中可以确定要使用的正确修订版本。
如果IBM Cloudant中提供了TTL功能,则短期文档和软删除记录的潜在增加可能意味着数据库大小可能会无限增长。
有关更多信息,请参阅此link on TTL