我正在使用以下堆栈:
- nginx
- uwsgi
- 蟒蛇(烧瓶)
我已经建立了一个利用 redis 作为其主数据库的小应用程序。我只在我的代码中使用 GET、SET、EXISTS 和 EXPIRE。
在终端中尝试应用程序时,一切正常。在每次请求时,它都会检查内容是否可用 (EXISTS)。如果不是,则内容会被加载并保存一段时间(SET,EXPIRE)。之后,将内容呈现给用户 (GET)。
问题是,一旦我通过 nginx/uwsgi 运行应用程序,一段时间后 EXPIRE 似乎被忽略了。不是删除值并重新加载它,而是将新内容附加到旧内容 - 因为它似乎不仅是一次,而是几十次,导致非常大的值,有时甚至超时。
对我来说最奇怪的事情:一旦我重新启动 uwsgi,整个问题就消失了。
任何的想法?