【问题标题】:How to do a Get with a touch using aerospike client如何使用 aerospike 客户端一键获取
【发布时间】:2017-10-30 03:40:26
【问题描述】:

我想从 aerospike 获得记录。所以,我使用的是Client.Get 方法。

但是,每当我执行 Get 操作时,我也想刷新记录的 TTL。所以,通常我们使用WritePolicy,它允许我们设置一个ttl。但是Get方法只接受BasePolicy

以下方法是否正确或有更好的方法?

client.Get(nil, key, bin)

client.Touch(myWritePolicy, key)

【问题讨论】:

    标签: go aerospike


    【解决方案1】:

    在operate() 命令中执行此操作,您可以在同一个锁中使用touch() 和get(),一次网络访问。请注意,如果您的记录存储在磁盘上,那么无论您如何更新 TTL,都需要将记录重新写入磁盘上的不同位置,因为 TTL 信息存储在记录元数据中。

    【讨论】:

    • 我们使用的是 storage-memory 所以不用担心磁盘写入
    猜你喜欢
    • 1970-01-01
    • 2016-08-31
    • 2020-10-01
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多