Google App Engine - Memcache - 将过期时间设置为5秒

Kyl*_*yle 0 google-app-engine

如果我将存储在memcache中的对象的到期时间设置为5秒,10秒后它是否肯定不存在于memcache中?

Ale*_*min 8

以下是App Engine for Java Doc所说的内容:

应用程序可以提供期满时间时的值被存储,作为一个数字的相对当该值被添加,或以秒为在未来的绝对Unix时间戳时间(从午夜1970年1月1,若干秒).该价值将在不迟于此时被驱逐,但可能因其他原因被驱逐.

所以我的理解是,在指定的到期时间之后数据将不再存在.

但是,由于Memcache服务器可能运行在与服务请求的Web服务器不同的节点上,因此两个服务器的时钟可能无法完美同步.

  • nitpick:鉴于架构,如果超时驱逐是一项高优先级的任务,我会感到惊讶,因此数据可能会在到期时间之后持续存在(但可能会被检索操作丢弃).如果Google的服务器的时钟频率大于1ms,我也会感到惊讶,因为糟糕的事情会发生,与ntp的时钟同步是一个已解决的问题.但无论如何,对于一个好转的答案+1. (2认同)