Как реализовать потоковую безопасную операцию чтения-изменения-записи с помощью плагина кэширования flask? Под потокобезопасностью я подразумеваю полную непрерывную операцию чтения-изменения-записи. Приложение flask запускается Gunicorn с одним рабочим и несколькими потоками.
С {'CACHE_TYPE': 'simple'}
Я знаю, что глобальный словарь удерживается, поэтому получение объекта блокировки должно работать. Например,
...
with lock:
cnt = cache.get("counter")
cnt+=1
cache.set("counter", cnt)
Но когда кто-то изменяет конфигурацию запуска сервера приложений gunicorn и увеличивает количество рабочих процессов, эта блокировка больше не будет достаточной.
Мой вопрос: есть ли правильный способ реализовать это с помощью flask кэширования? Независимо от настройки типа кэша.