我正在使用一个基于uwsgi-nginx的flask部署(localhost),其中有几个工作进程(目前为2个)。直到现在,我一直在使用flask-Caching简单缓存,但最近我需要使用跨进程持续的缓存。所以我决定使用FileSystemCache代替,版本1.11.1(错误的cache集成?有人已经创建了一个问题,它似乎)flask-caching给了我一些错误,所以我降级到1.10.1。
每隔几分钟,我看到缓存丢失再次发生。我的假设与简单缓存可能是一个不同的进程/线程伸出烧瓶,所以缓存没有命中。使用FileSystemCache不是正确的方法吗?为什么我要观察这种交互,正如截图中提到的,这是在我刷新我的web应用程序时观察到的,所以一堆新的API被调用,它们都通过一个构造函数来检查缓存中是否存在一个键,各种各样的认证令牌,在没有找到它时,提示用户再次登录。我的问题是,用户不得不登录每隔几分钟,因为缓存没有命中。我不想使用memcache/redis,已经在生产实例中使用了,这更像是团队中开发人员的开发设置。
缓存调用delete key的日志截图
我找到了答案。我被之前在flask-caching-1.11.1和文件系统缓存中遇到的问题分心了。在降级到1.10.1之后,我只需要在缓存配置中将默认超时设置为所需值。