Aerospike缓存失效的问题
最近公司运营人员反映存储在Aerospike缓存中的某一名单失效,现象表现为: 有时候生效,有时候不生效,而和他相同时间点加入的值、相同维度的名单却没有任何问题,且查询程序日志没有报错。程序中还有一个定时任务,每小时整点自动重新加载一次名单类缓存,用程序调用打印缓存程序发现:整点加载过后缓存又有了,但过一会儿就又没有了。
由于我司业务的特殊性,需要把所有缓存都设置为永久保存,所以不应该自动失效。
查看cat /etc/aerospike/aerospike.conf
default-ttl 值设置为0, 即永不失效
– 经程序厂商提示发现我司的缓存内存阀值MEM\HWM达到60%,且显示红色,
linux下执行 asadm,在输入info即可显示aerospike集群的相关状态
如下图:
如图所示,namespace共分配了8g,此时缓存占用4.8g,且不再增加;
查阅aerospike文档后发现,有关缓存值过期的完整配置应该包含如下几项:
default-ttl 30d #写入数据后保留多长时间(以秒为单位) 0 为用不过期
high-water-disk-pct <百分比> #磁盘到多少开始提前过期(记录提前过期)
high-water-memory-pct <百分比> #内存到多少开始提前过期&#