我正在基于以下条件的flask网站上工作:
我制作了一个简单的页面,该页面加载了驻留在数据库中的json,并对其进行渲染以生成网页。到目前为止,没有什么复杂的。 我遇到的问题是,此网页已缓存并且我正在提供相同的内容,而无论json是否更改。
我的页面具有防止缓存的元标题,因此它不是浏览器。 我在nginx上配置了虚拟主机以防止缓存。 我在SqlAlchemy上用expire_all()标记了该会话,以避免在数据库层上进行缓存。
所以...我假设Flask正在缓存我的内容。问题是我已经将我的flask应用程序配置为防止缓存,但是它似乎不起作用。
有人有同样的问题吗?
谢谢。
nginx: no cache
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
Flask应用程序:
from flask_caching import Cache
app = Flask(__name__)
app.debug = False
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
app.config['CACHE_TYPE'] = 'null'
cache = Cache(app)
答案 0 :(得分:0)
我终于可以解决问题了,
1首先,防止工作人员捕获内容: --max-requests = 1 2实施gevent,以使系统每秒接受更多请求,因为禁用了缓存的内容, 每个数据库最多增加3个sqlalchemy最大连接数。因为每次需要eah请求时都会查询数据内容