【问题标题】:N1ql query resetting document expiry time in couchbaseN1ql查询重置沙发库中的文档到期时间
【发布时间】:2017-07-11 17:27:47
【问题描述】:

我在我的 java 代码中保存了一个有效期为 20 秒的文档,如下所示。

@Document(expiryExpression = "20",expiryUnit = TimeUnit.SECONDS)

公共类 Myclass {

它会在 20 秒后删除文档,这很好。

但如果我在 20 秒内执行 N1ql,文档不会被删除。 N1ql的执行时间仅为1秒。

Update Delivery d SET VehicleTrip.tripStatus = 'ENDED' where meta(d).id = 'DD_1111_145469_2017-07-11'

我的查询工作正常,但问题是文档在完成 20 秒后没有被删除。

【问题讨论】:

    标签: couchbase n1ql


    【解决方案1】:

    过期时间意味着文档在 20 秒内将无法在内存存储中使用,它不能保证所有持久索引的时间相同,它们可能会滞后一些。

    【讨论】:

      【解决方案2】:

      N1QL DML 不会保留 SDK 设置的过期时间。如果您通过 N1QL 修改了文档,则需要再次设置过期时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多