gpt4 book ai didi

python - Flask Caching 文件系统缓存是否跨进程共享?

转载 作者:行者123 更新时间:2023-11-28 18:59:04 51 4
gpt4 key购买 nike

让我们假设我将 Flask 与文件系统缓存结合使用,并结合 uWSGI 或 gunicorn,它们中的任何一个启动多个进程或工作程序。所有这些进程是否共享同一个缓存?或者换个方式问,无论进程 pid、线程状态等如何,函数和参数的计算结果是否总是相同的缓存键?

例如,考虑以下最小示例:

import time

from flask import Flask, jsonify
from flask_caching import Cache

app = Flask(__name__)

cache = Cache(app, config={
'CACHE_TYPE': 'filesystem',
'CACHE_DIR': 'my_cache_directory',
'CACHE_DEFAULT_TIMEOUT': 3600,
})


@cache.memoize()
def compute(param):
time.sleep(5)
return param + 1


@app.route('/')
@app.route('/<int:param>')
def main(param=41):
expensive = compute(param)
return jsonify({"Hello expensive": expensive})


if __name__ == '__main__':
app.run()

www.example.com/41 是否只需要 5 秒一次然后(3600 秒)立即可用,而不管 uWSGI 或 gunicorn workers?

最佳答案

如果我在我的机器上本地运行它,缓存在不同的进程中是稳定的,甚至整个服务器的不同重启也是如此。

关于python - Flask Caching 文件系统缓存是否跨进程共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54851459/

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