2012-01-28 68 views
2

我想在我的網站上緩存一些API響應(用web.py編寫)。我應該在調用web.py之間存儲變量嗎?

因此,我想在服務器端的某個地方保存一個變量,以便對我的web服務器進行不同的調用。

是否是存儲此變量的最佳位置?

我已經無法找到任何我可以將它們存儲的地方。

由於我的index對象似乎在每次調用webapp時都會重新初始化,因此我無法將該可調參數存儲爲屬性。

如果我在初始化webapp的腳本中聲明它們,我似乎也無法達到該變量。

cacheInfo = "something" 

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

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

在數據庫中如何? – 2012-01-28 20:53:32

+0

我想避免添加數據庫,因爲我要保持輕量級。但否則這將是我的第一選擇。 我也想避免寫入文件。 – 2012-01-28 20:56:32

+1

那麼它必須存儲* *某處... – 2012-01-28 21:00:02

回答

1

嘗試使用泡菜模塊。它存儲和檢索文件中的變量。 CGI腳本不會持續運行,因此您需要將數據存儲在文件或數據庫中。

+0

奧基,壞,有將其存儲在CGI調用內存之間沒有簡單的方法。 – 2012-01-28 21:35:56

0

我使用的Web開發Django和我做的不是如何工作web.py但我認爲你可以將其存儲在會話的上下文或一個cookie,如果該變量是每個網站訪問者計算。

1

如果您需要存儲全局狀態,那麼您可以使用數據庫存儲(web.db)並在每個請求中使用application processor將查詢保存在web.ctx中。在保存到數據庫時,你可以使用pickle或json序列化你的數據。

如果你需要存儲在每個用戶的基礎,然後在會話(web.session)保存數據。

相關問題