我想优化我的GAE webapp以获得延迟。GAE/Python上的请求之间的异步数据库访问
该应用程序有两个请求通常来来一个接一个。
在第一个请求期间启动异步数据库/ memcache请求,然后在以下请求中使用其结果是否安全?
(我知道,第二个请求可能击中另一个实例。这将是一次不命中处理)
我想优化我的GAE webapp以获得延迟。GAE/Python上的请求之间的异步数据库访问
该应用程序有两个请求通常来来一个接一个。
在第一个请求期间启动异步数据库/ memcache请求,然后在以下请求中使用其结果是否安全?
(我知道,第二个请求可能击中另一个实例。这将是一次不命中处理)
你不能在一个请求启动一个异步API调用,并获得其在其他结果。 HTTP服务基础设施将等待在HTTP响应被发送回去之前完成请求中的所有API调用;代表异步API调用的数据结构将在第二个请求中无用(即使它碰到相同的实例)。
您可能会尝试使用Appstats来查明您的请求正在进行哪些API调用,并查看是否可以避免使用某些API,或者使用memcache或并行化。
您也可以使用在数据存储区API中集成了memcache的NDB。
撇开安全问题,你会怎么建议这样做? –
@DanielRoseman - 只需在全局名称空间中保留一个引用即可。 – Srg
通过全局名称空间,您是否意味着在发生处理第一个请求的实例的记忆中,随着流量增加和缓存更加有用,减少了在缓存彩票中获胜的机会? – tesdal