如何使用Flask缓存插件实现线程安全的读取-修改-写入操作?线程安全是指完整的不间断的读取-修改-写入操作。该flask应用程序由具有一个工人和多个线程的gunicorn启动。
我知道{'CACHE_TYPE': 'simple'}
拥有一个全局字典,因此获取锁定对象应该可以工作。例如。
...
with lock:
cnt = cache.get("counter")
cnt+=1
cache.set("counter", cnt)
但是,当有人更改gunicorn应用程序服务器的运行配置并增加工作进程的数量时,此锁定将不再足够。
我的问题是:是否有通过烧瓶缓存实现此目标的正确方法?不管缓存类型设置如何。