与uwsgi一起使用时,请使用redis APPEND值而不是设置它

时间:2012-12-30 18:26:44

标签: python nginx redis flask uwsgi

我正在使用以下堆栈:

  • nginx的
  • uwsgi
  • Python(Flask)

我已经设置了一个小应用程序,它使用redis作为主数据库。我只在代码中使用GET,SET,EXISTS和EXPIRE。

在终端中尝试应用时,一切正常。在每个请求中,它检查内容是否可用(EXISTS)。如果不是内容被加载并保存一段时间(SET,EXPIRE)。之后,内容将呈现给用户(GET)。

问题是,只要我通过nginx / uwsgi运行应用程序,经过一段时间后,EXPIRE似乎被忽略了。新内容不是删除值并加载新内容,而是附加到旧内容中 - 因为它似乎不仅仅是一次,而是几十次,导致极大的值,有时会超时。

对我来说最奇怪的事情:一旦我重新启动uwsgi,整个问题就会消失 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我已经明白了!问题是我“回收”了这两个实例:

md = markdown.Markdown(safe_mode="escape", output_format='html4')
h2t = html2text.HTML2Text()

http://github.com/saibotd/hackerhub/blob/master/app.py - >第22,23行

我需要在每个请求中重新创建这些对象,并且它按预期工作。