更高效地在memcache中存储实体
2009 9 13 10:52 AM 2526次查看
分类:Google App Engine 标签:Google App Engine, Python
而在SDK 1.2.5的数据库API里提供了2个新的方法来解决这个问题:model_to_protobuf(model_instance)和model_from_protobuf(pb)。
这2个方法的速度较快,且不存在兼容性问题。
Nick还给了些例子说明如何使用:
from google.appengine.api import memcache
from google.appengine.ext import db
from google.appengine.datastore import entity_pb
entity = memcache.get("somekey")
if entity:
entity = db.model_from_protobuf(entity_pb.EntityProto(entity))
else:
entities = MyModel.all().fetch(10)
memcache.set("somekey", db.model_to_protobuf(entities).Encode())
可以注意到新增了entity_pb这个模块,而且可以直接处理实体集(下面还给了个自己处理多个实体的例子)。
向下滚动可载入更多评论,或者点这里禁止自动加载。