此代码片段:err = memcache.JSON.Set(c, &memcache.Item{ Key: mkey, Object: &total, Expiration: 600,})然后是第二次调用:_, err := memcache.JSON.Get(c, mkey, &total); ...导致缓存未命中。简单地将 Expiration 值更改为 0 会导致缓存命中,但是我无法控制项目何时到期。我是否误读了到期应该如何工作?
1 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
由于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
- 1 回答
- 0 关注
- 183 浏览
添加回答
举报
0/150
提交
取消