请查看此 appstats 日志,随机一些 memcache 调用比其他调用花费的时间特别长。这些都是针对 memcached 计数器的 get 调用,因此花费时间比其他调用时间更长的调用绝对没有什么不同。有什么解释吗?
请您参考如下方法:
像所有 GAE 服务一样,Memcache 是使用远程过程调用完成的,并且不会生成响应时间。如果机器/网络繁忙,它可能会滞后。
这里真正的问题是您如何在单个请求中调用内存缓存 20 次?
有两种解决方法:
- 使用get_multi一次检索所有值(如果可能)
- 使用the async memcache ,开始检索这些值,但不要等到它们都准备好后才使用它们。
