减少数据存储区读取操作

时间:2011-11-08 15:31:30

标签: google-app-engine

根据Google App Engine的新定价方案,我得到一个惊喜定价表,如下所示。

enter image description here

罪魁祸首是,我在“数据存储区读取操作”中获得了大幅增加,仅在几个小时内,尽管我的DownloadServlet只有不到50个电话

DownloadServlet只会从数据库中读取blob(通常小于1 MB),并将其返回给用户。我可以做些什么来优化我的代码,这样我就不会那么快达到免费配额限制。

2 个答案:

答案 0 :(得分:9)

您正在进行大量读取操作,因为您已将文件分解为数据存储区中的1MB块。因此,您必须为每个块执行一次读取,并且由于您没有使用密钥名称或ID,因此您还要对每个密钥进行查询,从而进一步耗尽您的配额。

将数据存储在blobstore中。

答案 1 :(得分:3)

如果您从数据存储中读取的数据是相对静态的(例如,博客条目的文本),您可以考虑在memcache中缓存数据。

无法保证数据在memcache中保留多长时间,因此,如果memcache中的数据无效,您需要定期从数据存储区重新获取数据,但数据存储区读取操作会节省多少相当可观。