我最近部署了我的GAE应用程序并且memcache无法正常工作,特别是它没有找到我已插入到memcache中的值。当我在本地开发服务器上测试时,它工作正常。
我按如下方式进行了设置:
当我创建一个新实体“c”(博客文章)时,在我对实体调用c.put()之后,我使用实体ID作为memcache的密钥,如下所示memcache.set(key=str(c.key.id()), value=0)
。
实体ID由GAE自动生成。 memcache值是总页面视图的计数。当用户访问博客实体页面时,我会增加内存缓存值:memcache.incr(str(c.key.id()))
知道为什么它没有在生产中找到memcache中的值吗?但是我在本地测试时工作正常吗?
更新:我检查了Cloud Platform Console中的Traces页面,它显示了对/memcache.Get,/ memcache.Set,/ memcache.Increment和/memcache.Delete的RPC调用,这很奇怪,因为我从不调用删除我的代码中的memcache。有人知道为什么memcache会调用delete吗?我刚刚部署了我的应用程序并且只创建了一些实体。