根据Google App Engine的新定价方案,我得到一个惊喜定价表,如下所示。
罪魁祸首是,我在“数据存储区读取操作”中获得了大幅增加,仅在几个小时内,尽管我的DownloadServlet只有不到50个电话
DownloadServlet只会从数据库中读取blob(通常小于1 MB),并将其返回给用户。我可以做些什么来优化我的代码,这样我就不会那么快达到免费配额限制。
答案 0 :(得分:9)
您正在进行大量读取操作,因为您已将文件分解为数据存储区中的1MB块。因此,您必须为每个块执行一次读取,并且由于您没有使用密钥名称或ID,因此您还要对每个密钥进行查询,从而进一步耗尽您的配额。
将数据存储在blobstore中。
答案 1 :(得分:3)
如果您从数据存储中读取的数据是相对静态的(例如,博客条目的文本),您可以考虑在memcache中缓存数据。
无法保证数据在memcache中保留多长时间,因此,如果memcache中的数据无效,您需要定期从数据存储区重新获取数据,但数据存储区读取操作会节省多少相当可观。