我正在尝试使用 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.
可以请某人为什么我没有看到任何性能提升?