如何仅通过AQL修改Aerospike中集合的TTL?
能否仅通过AQL直接修改Aerospike集合的TTL?
不行,AQL本身没有原生支持无需Lua脚本就能批量修改某个集合所有记录TTL的命令。
AQL的基础UPDATE语句仅能操作记录的普通业务字段,无法直接修改TTL这类元数据属性。如果要批量更新整个集合的TTL,官方推荐的方式还是通过编写Lua UDF并在AQL中执行——这也是你查到的可行方案。
如果只是修改单条记录的TTL,倒是可以直接用AQL的PUT语句指定TTL参数,示例:
PUT INTO test.my_set (PK, my_field) VALUES ('user1', 'some_value') TTL 86400
但这种方式只能逐个处理记录,无法一次性覆盖整个集合的所有数据。
内容的提问来源于stack exchange,提问作者T.P.
相关产品推荐
相关产品推荐

