Memcached-memcached 有效时间限制最多为30天么?

发布于 2016-10-21 18:02:45 字数 296 浏览 1249 评论 3

今天遇到mc的一个问题 我在设置某个值 把有效期设成 31天 结果读不出结果,但是明明写是成功的检查了 代码半天 也以为是 缓存配置的问题 测试了半个来小时发现均没有问题 后面 尝试了是不是 key 的长度?值的问题终于 测试到了 有效时间 这个 后面 尝试了是不是 key 的长度?值的问题终于 测试到了 有效时间 这个 但是 超过 30天 就有问题了写成功了 那边返回的状态是 写成功但是 read 不了 亲 是不是 mc 缓存最大的有效期是 30天啊超过就直接丢弃

求助阅读过源码的童鞋们,此处是在何处定义的呢,如果想延长这个有效时间,应该如何配置与修改呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜柠檬 2017-05-26 09:16:52

看手册对mc set() 的 expire 参数描述:

Expiration time of the item. If it's equal to zero, the item will never > expire. You can also use Unix timestamp or a number of seconds starting > from current time, but in the latter case the number of seconds may not > exceed 2592000 (30 days).

设置过期时间确实不能超过30天,由于mc的过期机制使用lazy expiration,内部本身是不会监视数据是否过期,当在 get 的是否检查是否过期,所以设置一个不合法的过期时间很能回导致读取时拿不到数据;

怎么破? 目前只能将 expire 设置为0了,但是不能保证真正的永不过期,因为它可能会为了给其他项分配空间而被删除。

浮生未歇 2017-04-06 09:20:55

你试试这样写有效期:time()+31x24x3600
好像是支持随意天数的

泛泛之交 2016-12-10 07:24:57

大于30天的 用时间戳表示

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文