Memcached-memcached 有效时间限制最多为30天么?
今天遇到mc的一个问题 我在设置某个值 把有效期设成 31天 结果读不出结果,但是明明写是成功的检查了 代码半天 也以为是 缓存配置的问题 测试了半个来小时发现均没有问题 后面 尝试了是不是 key 的长度?值的问题终于 测试到了 有效时间 这个 后面 尝试了是不是 key 的长度?值的问题终于 测试到了 有效时间 这个 但是 超过 30天 就有问题了写成功了 那边返回的状态是 写成功但是 read 不了 亲 是不是 mc 缓存最大的有效期是 30天啊超过就直接丢弃
求助阅读过源码的童鞋们,此处是在何处定义的呢,如果想延长这个有效时间,应该如何配置与修改呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
看手册对mc set() 的 expire 参数描述:
设置过期时间确实不能超过30天,由于mc的过期机制使用lazy expiration,内部本身是不会监视数据是否过期,当在 get 的是否检查是否过期,所以设置一个不合法的过期时间很能回导致读取时拿不到数据;
怎么破? 目前只能将 expire 设置为0了,但是不能保证真正的永不过期,因为它可能会为了给其他项分配空间而被删除。
你试试这样写有效期:time()+31x24x3600
好像是支持随意天数的
大于30天的 用时间戳表示