aerospike 最大 TTL 限制
所属分类 aerospike
浏览量 1163
TTL time to live
单位秒 ,最大10年 3600*24*365 * 10
超过报错
com.aerospike.client.AerospikeException: Error Code 4: Parameter error
写入操作可设置过期时间 , 不设置 使用 namespace 的 default-ttl
读操作不会修改
如果 某条记录 只有读 没有写的话 ,ttl会不断变小 ,直到过期
TTL 为0或-1的记录不会过期或逐出
TTL 客户端主动设置,否则使用namespace的默认TTL配置
update和touch操作会更新TTL
NSUP (namespace supervisor) 线程 负责 过期 和 逐出操作。
NSUP线程周期运行, 时间间隔通过 nsup-period 参数设置
nsup-period 默认 120s
for(int i=1;i<100;i++) {
System.out.println("year="+i);
final int maxttl = 3600*24*365*i;
policy.expiration = maxttl;
String key = "key-"+99;
String value = key+"-"+LocalDateTime.now();
AsClientUtil.put(client, policy, namespace, dataSetName, key, bin, value);
}
// com.aerospike.client.AerospikeException: Error Code 4: Parameter error
完整测试代码
https://gitee.com/dyyx/asdemo/blob/master/src/main/java/demo/TTLTest.java
aerospike数据逐出与停止写入相关参数
aerospike中的过期驱逐和停止写入机制
上一篇
下一篇
springboot2 FileEncodingApplicationListener简介
maven jar包冲突处理
aerospike 某客户 stop-write 实例
aerospike常见错误
aerospike 记录 TTL 说明
写博客的好处