flask кеширование, чтение, изменение, запись. - PullRequest
0 голосов
/ 20 апреля 2020

Как реализовать потоковую безопасную операцию чтения-изменения-записи с помощью плагина кэширования flask? Под потокобезопасностью я подразумеваю полную непрерывную операцию чтения-изменения-записи. Приложение flask запускается Gunicorn с одним рабочим и несколькими потоками.

С {'CACHE_TYPE': 'simple'} Я знаю, что глобальный словарь удерживается, поэтому получение объекта блокировки должно работать. Например,

... with lock: cnt = cache.get("counter") cnt+=1 cache.set("counter", cnt)

Но когда кто-то изменяет конфигурацию запуска сервера приложений gunicorn и увеличивает количество рабочих процессов, эта блокировка больше не будет достаточной.

Мой вопрос: есть ли правильный способ реализовать это с помощью flask кэширования? Независимо от настройки типа кэша.

...