Aerospike缓存失效的问题

本文介绍了在Aerospike缓存中遇到的失效问题,表现为有时生效有时不生效。问题原因是内存高水位达到60%,导致部分缓存提前过期。通过查看配置和文档,发现缺少`high-water-disk-pct`配置,调整该参数到80%,并增加分配给namespace的内存,解决了问题。同时,分享了解决此类问题的方法,供遇到同样问题的开发者参考。
摘要由CSDN通过智能技术生成

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 <百分比> #内存到多少开始提前过期&#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值