Давайте предположим, что я использую 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?