memcaced 过期时间问题

记得之前有用过memcached,领导说把过期时间设成1个半月,改完后很奇怪,存进去就莫名其妙的取不出来,查了一下午,原来memcached的过期时间有两种设定方式

1.从add时间算起的一个以秒为单位的毫秒值 一天就是 60*60*24,n天就是60*60*24*n

2.一个unix的时间戳,即从1970年1月1日开始到失效时间为止的整形毫秒数

memcached是如何区分add的expire是那种方式呢,是根据expire的数值来判断的,如果expire大于60*60*24*30(即一个月的毫秒数),就会认为是第二种方式,如果小于等于60*60*24*30就是第一种方式

 

当时我设置成了60*60*24*45,很悲催的被memcached当成了1970年的2月16日过期了,这样可不就取不到了嘛,记在这里,

希望可以帮助到一些人

 

还有如果expire设置为0 ,就表示永久有效,不过如果memcached的空间满了,又有新的add就会把之前设为expire=0的置换掉。

 

参考文档:http://www.php.net/manual/zh/memcached.expiration.php 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值