代码之家  ›  专栏  ›  技术社区  ›  ʞɔıu

incr如何处理到期时间?

  •  4
  • ʞɔıu  · 技术社区  · 15 年前

    在memcached(appengine api实现)中,expiration如何与incr()交互?incr()没有时间参数,但是如果我用另一个调用添加键,会发生什么情况 而不是使用初始值参数,如:

    memcache.add('testcounter', 0, time=60*90) 
    newcnt = memcache.incr('testcounter') 
    

    测试计数器是否仍将在90分钟内到期?我是否在那个时候再打这个电话?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Juan E.    15 年前

    memcache overview 他们说:

    “当存储一个值时,应用程序可以提供一个到期时间,以秒为单位 相对于添加值的时间 或者作为未来的一个绝对的Unix时代(从1970年1月1日午夜开始的几秒)。该值将在不迟于此时间被收回,但可能由于其他原因被收回。“ 它没有提到修改。

    如果你在google.appengine.api.memcache.init.py中查看memcache的代码,你会发现无论在incr还是incredcr中都没有对set-expiration-time函数的调用。

        2
  •  1
  •   Dustin    15 年前

    过期时间不受incr的影响。

    该对象将在添加后90秒内从缓存中过期,而不管您增加的次数是多少。

    (当然,它可能会提前到期)