gpt4 book ai didi

python - 每次部署站点时,如何让 Google App Engine 清除内存缓存?

转载 作者:IT老高 更新时间:2023-10-28 22:22:30 26 4
gpt4 key购买 nike

标题说明了一切。我正在构建的网站上的内容根本不会很快改变,因此 Memcache 可能会存储数月的数据,除非我发布更新。有没有办法在我每次部署站点时清除缓存?我正在使用 Python 运行时。

更新 1

使用 jldupontanswer我将以下代码放在我的主请求处理脚本中...

更新 2

我已切换到Koen Bok 中提到的方法。在所选答案的评论中,并在我所有的内存缓存键前面加上 os.environ['CURRENT_VERSION_ID']/answer 中的有用代码的第二次更新。这个解决方案似乎比我之前发布的功能要优雅得多。

最佳答案

你试过flush_all()函数吗? Docs here .您需要一些逻辑和状态来检测新部署或使用特殊脚本来执行刷新。

更新:查看其中一个脚本的绝对路径:每次部署都会更改。您可以使用http://shell.appspot.com/实验:

  import sys
sys.path

['/base/python_dist/lib/python25.zip', '/base/python_lib/versions/third_party/django-0.96', '/base/python_dist/lib/python2.5/', '/base/python_dist/lib/python2.5/plat-linux2', '/base/python_dist/lib/python2.5/lib-tk', '/base/python_dist/lib/python2.5/lib-dynload', '/base/python_lib/versions/1', '/base/data/home/apps/shell/1.335852500710379686/']

查看与/shell/1.335852500710379686/的行。

因此,只需保留此部署状态变量的快照(在内存缓存中;-)并进行比较以执行刷新操作。

更新 2:正如@Koen Bok 所建议的,环境变量 CURRENT_VERSION_ID 也可以使用(也是脚本文件的绝对路径的一部分)。

 import os
os.environ["CURRENT_VERSION_ID"]

关于python - 每次部署站点时,如何让 Google App Engine 清除内存缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1983556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com