在memcached(appengine api实现)中,expiration如何与incr()交互? incr()没有时间参数,但如果我用另一个调用添加密钥会发生什么 而不是使用initial_value参数,如下所示:
memcache.add('testcounter', 0, time=60*90)
newcnt = memcache.incr('testcounter')
测试计数器会在90分钟后到期吗?我是否在那段时间再次打电话给你?
答案 0 :(得分:4)
在GAE的memcache overview中,他们说:
“应用程序可以在存储值时提供到期时间,相对于添加值时的秒数 ,或者作为未来的绝对Unix纪元时间(a从1970年1月1日午夜起的秒数。)该值将在不迟于此时被驱逐,但可能因其他原因被驱逐。“ 它没有提到修改。
如果你查看google.appengine.api.memcache.init.py中的memcache代码,你会发现在incr或_incrdecr中都没有调用set_expiration_time函数
答案 1 :(得分:1)
到期时间不受incr。
的影响该对象将在添加后不迟于90秒从缓存中过期,无论您输入的次数如何。
(当然,它可能会更快到期)