我使用GAE创建了一个应用。我期待每天100k的请求。目前,对于每个请求,应用程序需要在执行所需任务之前查找4个表和8个diff列。
这4张表是我的主表,有5k,500,200和30条记录。它低于1 MB(限制)。
现在我想将我的主记录放在memcache中以便更快地访问并减少RPC调用。当任何用户更新master时,我将替换memcache对象。
我需要社区建议。
改变当前的设计是否可以?
如何在memcache中放置4个主表数据?
以下是应用程序当前的工作原理
department
)并检查p1是否存在。如果存在则检查启用状态。 答案 0 :(得分:6)
你不应该考虑将表插入memcache。相反,使用“乐观缓存”策略:每当您需要执行要缓存的操作时,首先尝试在memcache中查找它,如果失败,则从数据存储区中获取它,然后存储在memcache中。这是一个例子:
def cached_get(key):
entity = memcache.get(str(key))
if not entity:
entity = db.get(key)
memcache.set(str(key), entity)
return entity
但请注意,缓存单个实体的回报相当低 - 数据存储区在执行提取时速度相当快。缓存查询结果或渲染页面可以更快地提高速度。