【发布时间】:2013-04-20 21:12:15
【问题描述】:
我正在尝试使用 memcache 来提高性能。
这是我的模型:
class ABC(db.Model):
some_property = db.StringProperty()
# more properties
class XYZ(db.Model):
another_property = db.StringProperty()
abc = db.ReferenceProperty(ABC,collection_name="xyzs")
# more properties
我只有两个 ABC 实体和 800 个 XYZ 实体
因此,该应用程序的功能之一是为所有 XYZ 提供 excel 表。 excel 工作表有两列。
第一列是“another_property”,第二列是“some_property”(来自 ABC 参考)。
xyzs = XYZ.all()
for xyz in xyzs:
logging.info(xyz.another_property)
logging.info(xyz.abc.some_property)
使用这种方法,xyz.abc.some_property 每次都会调用数据存储区
看到这一点,我决定使用 memcache 将 abc 引用存储在内存中。
使用 memcache 后,我没有看到响应时间有任何重大变化。
abcId = XYZ.abc.get_value_for_datastore(xyz).id()
#Get ABC reference from memcache if present else bring it from datastore and add it to memcahce.
请问为什么我没有看到任何性能提升?
【问题讨论】:
标签: google-app-engine python-2.7 google-cloud-datastore appstats