0

我正在将 GAE 应用程序从 python 2.5 迁移到 2.7。迁移文档说:

警告:如果您的应用使用 memcache,请注意,如果从 Python 2.5 运行时的应用中获取数据存储实体,则由 Python 2.7 应用缓存的数据存储实体将引发错误。强烈建议您不要在同一个应用 ID 上同时使用两个 Python 运行时,即使是不同的应用版本。如果您必须同时使用这两个运行时,请注意不要将数据存储实体存储在内存缓存中。如果您必须并且正在使用 NDB,请通过将 _use_memcache=False 添加到您的模型来暂时禁用自动缓存,直到您的应用程序完全迁移到 2.7。

如果我部署一个使用 2.5 的版本,另一个使用 2.7 的版本,并且它们都使用 memcache,并且我确保它们使用的 memcache 键是互斥的,我是否可以避免这个问题?

我意识到最安全的做法是在我的 2.7 版本中禁用 memcache,直到我可以淘汰我的 2.5 版本,但这会使测试 2.7 版本更加困难,所以如果可能的话,我希望两个版本都使用 memcache。

4

1 回答 1

1

我相信如果你绝对肯定你已经隔离了两个不同版本使用的密钥,你会没事的。

为了安全起见,我建议使用流量拆分将少量流量发送到您的 Python 2.7 版本,以便如果出现问题,它们会在您的一小部分流量上体现出来。您可以逐渐增加百分比,同时注意错误,直到所有流量都从新版本提供。

于 2013-08-17T01:12:01.773 回答