AppEngine NDB缓存 - 对于新版本的代码无效?

时间:2013-02-05 14:48:26

标签: google-app-engine caching

在部署新的应用程序版本时,AppEngine上的NDB是否会自动刷新缓存项目或使其无效?如果修改了模型,那么将数据从基于旧模型定义的缓存中拉出来似乎是不好的。

(在使用NDB之前,当我自己缓存所有项目时,我会确保使用应用程序版本ID作为memcache密钥的一部分,不会在版本之间保留memcached项目)

1 个答案:

答案 0 :(得分:1)

Afaik ndb不会自动执行此操作(但我不知道您的应用程序的新版本是否获得了新的memcache实例,我们从未遇到过这方面的问题)。但您始终可以从仪表板手动刷新内存缓存。

如果您喜欢实验,ndb.context中的属性“_memcache_prefix”可能会执行您想要的操作,但目前尚未正式支持它。

另请注意,更改模型不会改变您的数据库。因此,无论如何,您将从数据库中提取基于旧模型的数据。它只适用于您的模型,填写缺失属性的默认值。