为什么memcached对缓存项的生命周期有30天的限制?
在我的系统中,我总是将生存期设置为30天,因为这是允许的最大值。对于我的应用程序来说,将其设置为远大于30天的值将是理想的。
有没有办法将“30天”的值更改为其他值?
我正在考虑下载memcached源代码并重新编译,以供我自己使用。我要么把"30“改成"300”,要么干脆去掉那张支票。如果我这样做,我是否会更改一些会导致memcached出现故障或性能不佳的内容?我的期望是,项目将被允许在缓存中保留更长时间,当缓存变满时,这些项目将从缓存中删除。
发布于 2010-09-03 00:15:21
30天是您可以指定过期的最大时间长度,但是如果您正在考虑完全取消过期检查,将过期时间设置为0不是更简单吗?这应该意味着数据将一直存储到缓存已满,并将其删除以允许插入较新的项。
从PHP Memcache docs
参数
expire是过期时间,单位为秒。如果为0,则该项永远不会过期(但memcached服务器不能保证该项始终存储,可以将其从缓存中删除,以便为其他项腾出位置)。
发布于 2010-09-03 03:01:14
30天是我们从现在起将您指定的时间视为TTL的限制。
如果您想要超过30天,可以使用绝对时间(time() + whatever)。
如果您不想像ConroyP所说的那样基于时间的过期,那么只需使用0。
https://stackoverflow.com/questions/3628995
复制相似问题