在memcache中存储值的最大长度(秒)是多少

时间:2010-05-08 08:03:56

标签: google-app-engine memcached

Google App Engine memcache documentation表示time的{​​{1}}参数是“可选的到期时间,从当前时间(最多1个月)的相对秒数,或绝对的Unix纪元时光。“

所以我尝试设置30天的值,according to Google为2 592 000秒。

但是,我非常怀疑这个值太高了,因为设置了值(memcache.set()返回了值memcache.set()),但是在True之后总是返回memcache.get() }}。将此值减少到1 728 000 seconds只是按预期工作正常。

我想一旦传递了最高值,None参数就被解释为绝对的Unix纪元时间。这意味着2 592 000秒被解释为“星期六,1970年1月31日00:00:00 GMT”,这显然是过去的日期......

您可以输入的最高值将来会被解释为几秒钟?

编辑:在本地开发服务器上,2 592 000秒工作正常,但不在生产服务器上。我想两台服务器对这些值有不同的解释。

1 个答案:

答案 0 :(得分:3)

您关联的Google文档非常不精确;实际memcached documentation更具体,说该数字可能超过 2,592,000(30天秒)。所以从理论上说,这应该有效,除非实施问题。 (该声明在PHP documentation for its memcache stuff中得到了回应。)因此,根据memcached文档,您的第一个值应该有效。

我认为2,591,999不起作用? Google文档确实说“最多一个月”,如果你假设一个月内30天(不是一个有效的假设)那么最多 2,592,000(例如,但是不包括)。这与memcached文档不一致,但也许存在实现差异。