Google App Engine for Java会话究竟如何运作?

时间:2010-08-28 01:28:42

标签: java google-app-engine

我知道app引擎使用memcache和数据存储区进行会话。我可以在appstats中看到,当我调用getSession(),创建一个新会话时,会发生1个内存缓存和1个数据存储。

但是,在我的应用程序的每个请求中,我从会话中获取当前用户对象。并且没有memcache或数据存储区显示在appstats中。

这是如何运作的?

1 个答案:

答案 0 :(得分:1)

Google博客“Easy Performance Profiling with Appstats”有一篇很好的文章,介绍Appstats中的分析内存缓存。它在Python中讨论过,但引用了Appstats for Java的用法。

来自:“Google App Engine> Appstats for Java

  

如何运作

     

Appstats servlet过滤器将自身添加到作为App Engine服务API基础的远程过程调用框架。它记录在请求处理程序期间进行的所有API调用的统计信息,然后使用__appstats__的命名空间将数据存储在memcache中。 Appstats保留最近1,000个请求(大约)的统计数据。数据包括摘要记录,每个记录大约200个字节,以及详细记录,每个记录最多可达100 KB。

     

Appstats的Java版本使用固定值和行为来记录数据在内存缓存和数据存储中的存储方式。 (这些不能像Appstats的Python版本那样进行配置。)

如果您在Appstats中没有显示memcache数据时遇到问题,您可能希望将JCache视为App Engine内存缓存服务的接口。或者,有一些工具专门用于报告建议的here的memcached统计信息。

干杯。