memcached 问题汇总

           php设置key-value,过期时间300s。设置成功后立即获取,发现返回false,key 莫名其妙过期了。

1  首先怀疑是否内存满了,并且key 对应的slab也没有多余空间,用memcached-tool 测试了一下,发现内存还很充足,也没有触发Lru,使数据被剔除,只能从其他方面排查

2 telnet 127.0.0.1 11211 使用命令模拟Php的写入读取,发现是正常的 。

3

定位k-v写入的时候归属于哪个slab,编号x

telnet 127.0.0.1 11211

stats cachedump x 10

显示 ITEM key [count b; expire_time s]

拿出过期时间计算,发现过期时间是期望时间,那么设置是没有问题的。

使用get key ,发现key 居然过期了。

由于mc是在get的时候才判断key是否过期,那么在当前时间,被认为过期了。

在mc实例所在服务器执行date,发现服务器时间异常。

重设服务器时区,恢复正常。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值