假设我有 1000 个实体。我希望用户以这种方式通过分面搜索找到实体:
- 用户选择过滤器
- 一个 ajax 请求被发送到 GAE
- 服务器返回匹配实体的计数
- 重复直到只有几个实体
换句话说,每个应用的过滤器(只是一个复选框)可能会导致多达 1000 次读取(后续过滤器的成本会更低,因为返回的实体更少)。这意味着每天大约 10 次“搜索”(= 应用多个过滤器)可能会耗尽我所有的 50k 免费阅读配额。
Memcaching 结果并不是一个真正的选择:如果我有 30 个可以应用的过滤器,那么要存储所有组合,就会有 2^30="over abill" 的 memcache 条目(当实体更改时,它们都必须更新首先进行十亿次数据存储读取)。
显然我没有得到任何东西。我将如何有效地缓存或计算结果?