$ aql
Aerospike Query Client
Version 3.12.0
C Client Version 4.1.4
Copyright 2012-2017 Aerospike. All rights reserved.
aql> register module './ttl.lua'
OK, 1 module added.
$ aql
Aerospike Query Client
Version 3.12.0
C Client Version 4.1.4
Copyright 2012-2017 Aerospike. All rights reserved.
aql> register module './ttl.lua'
OK, 1 module added.
aql> execute ttl.modify_zero_ttl(604800) on test.foo
1 回答
只是为了澄清,在客户端设置TTL of -1意味着永不过期(相当于服务器的aerospike.conf文件中的default-ttl为0),而在客户端设置TTL为0意味着继承此命名空间的default-ttl .
With Predicate Filtering:
如果您正在使用Java,C,C#和Go客户端,则识别void time为0的记录的最简单方法是使用predicate filter . 您可以将简单记录UDF应用于谓词过滤器匹配的所有记录 .
ttl.lua
使用AQL注册Lua模块:
然后在Java应用程序中:
Only using UDFs :
对于尚未进行谓词过滤的其他客户端(Python,PHP等),您可以通过应用于扫描的记录UDF完成所有操作 . 过滤逻辑必须存在于UDF内部 .
ttl.lua
在AQL: