首页 文章

Aerospike:获取upsert时间而不显式存储它用于带有TTL的记录

提问于
浏览
3

Aerospike非常快速可靠,但价格昂贵 . 对我们而言,成本取决于存储的数据量 .

我们希望能够根据记录的上传时间来查询记录 . 目前,当我们添加或更新记录时,我们将bin设置为当前纪元时间,并可以在此bin上运行扫描查询 .

我突然意识到Aerospike知道何时根据记录的时间来记录记录,并且由于我们可以通过simple UDF从记录元数据中查询TTL值,因此可以推断出具有TTL的记录的upsert时间 . 我们_1745332已经知道了 .

是否可以通过UDF访问记录创建或到期时间而无需显式存储?

2 回答

  • 1

    此时,Aerospike仅存储空白时间以及记录(记录到期的时间) . 所以遗憾的是,上传时间不可用 . 不过,请继续关注,因为我听说有些计划会有一些可能对您有所帮助的新功能 . (我是Aerospike的OPS /支持团队的一员) .

  • 4

    void time :它跟踪系统中密钥的生命周期 . 这是密钥应该到期并被驱逐子系统使用的时间 .

    所以ttl来自空隙时间 .

    当我们从记录中获取ttl时,我们只能计算空闲时间(现在为ttl)

    根据您所拥有的内容,我认为只有在您为所有记录添加相同数量的到期时才能评估ttl的upsert时间,例如CONSTANT_EXPIRATION_TIME .

    在这种情况下

    upsert_time = now - (CONSTANT_EXPIRATION_TIME - ttl)
    

    HTH

相关问题