0
我有一個向用戶提供問題列表的網站。這組問題對所有用戶都是一樣的。我有這些問題存儲在一個文本文件中。該文件的內容在服務器運行時不會改變。如何在Django中緩存一小段信息
我不能使用靜態頁面來顯示這些問題,因爲我有一些邏輯來決定何時顯示哪個問題。
我想將這些問題緩存在內存中(而不是每次用戶連接時從硬盤中讀取文件)。我正在使用Django 1.7。
我沒有讀過Django網站的緩存,我認爲建議的方法(如memcached和數據庫)對於我的需要來說太重了。對我的情況來說,什麼是一個好的解決方案?使用全局變量?
謝謝!
也許你可以創建一個RAM盤,並保存就可以http://www.jamescoyle.net/how-to/943-create-a-ram-disk-in-linux – Pynchia 2015-04-01 12:56:35
不太緩存文件,但你可以使用上下文處理器。或者,如果您使用的是基於類的視圖,則可以擴展get_context_data以在響應上下文中定義問題。 – devinformatics 2015-04-01 13:02:08
我無法找到一個原因緩存將是沉重的您的需要,如果您需要緩存,使用緩存引擎,加載初始數據,將其分配給緩存與一個密鑰,可以很容易地跟蹤,如果數據有改變(也許是所有值的散列),然後如果數據改變,重新加載並重新生成緩存。如果不是,那麼在模型中的某個地方聲明問題並直接將它們用作變量(但是我會避免這麼做,因爲它會在覈心中引入相關性) – petkostas 2015-04-01 16:04:42