带有任何过期时间的 Memcache 项目在使用 Go 的 Google App Engine

此代码片段:


err = memcache.JSON.Set(c, &memcache.Item{

    Key:        mkey,

    Object:     &total,

    Expiration: 600,

})

然后是第二次调用:


_, err := memcache.JSON.Get(c, mkey, &total); 

...导致缓存未命中。

简单地将 Expiration 值更改为 0 会导致缓存命中,但是我无法控制项目何时到期。


我是否误读了到期应该如何工作?


临摹微笑
浏览 184回答 1
1回答

慕妹3242003

由于memcache.Item确实使用了Time.Duration(纳秒),因此最好Expiration使用秒来指定字段: time.Second * 600内存缓存文档提到:// Expiration is the maximum duration that the item will stay// in the cache.// The zero value means the Item has no expiration time.// Subsecond precision is ignored.// This is not set when getting items.Expiration time.Duration
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go