我应该在哪里调用web.py之间存储变量?

时间:2012-01-28 20:51:45

标签: python web.py

我正在尝试在我的网站中缓存一些API响应(用web.py编写)。

因此,我希望在不同的Web服务器调用之间在服务器端的某处保存变量。

是存储此变量的最佳位置吗?

我实际上还没找到 - 我可以存储它们的地方。

由于我的index对象似乎每次调用webapp都会重新初始化,因此无法将varable存储为属性。

如果我在初始化webapp的脚本中声明它们,我似乎也无法访问该变量。

cacheInfo = "something"

class Index: 
  def GET(self):
    render.index(cacheInfo)

if __name__ == "__main__":
  app.run()

3 个答案:

答案 0 :(得分:1)

尝试使用pickle模块。它存储和检索文件中的变量。 CGI脚本在运行之间不会持久存在,因此您需要将数据存储在文件或数据库中。

答案 1 :(得分:1)

如果您需要存储全局状态,那么您可以使用数据库存储(web.db)并使用application processor在每个请求的web.ctx中保存查询。保存到db时,您可以使用pickle或json序列化数据。

如果您需要按用户存储,请在会话中保存数据(web.session)。

答案 2 :(得分:0)

我使用django进行网页开发,而不是关于web.py是如何工作的,但我认为你可以将它存储在会话上下文中,如果该变量是基于每个站点的访问者,则可以存储为cookie。