而不是緩存整個站點或整個視圖,我決定只使用低級緩存API緩存幾個大量查詢。使用Django進行低級緩存
我在做這樣的事情
key = ...
value = cache.get(key)
if value is None:
value = ...
cache.set(key, value, CACHE_TIMEOUT)
它的工作原理幾乎預期(問題01:有沒有更好的辦法做到這一點?),
但如果我設置CACHE_TIMEOUT
到一個很大的值(86400
:db每天更新一次),
看起來CACHE_TIMEOUT
正在被其他東西所覆蓋,並且該值被緩存了幾分鐘...
(問題02:)我做錯了什麼?
我的超時時間太長了嗎? 或者我正在緩存太多的信息? (value
包含500-1000個對象,並以50-60個不同的頁面/鍵進行評估)
我試圖用memcached的。你覺得我應該嘗試別的東西嗎? – dolma33 2010-12-14 21:20:12
我想您應該監控緩存統計看看有什麼需要改變 – 2010-12-14 21:26:59
謝謝,我發現了這個問題......我正在使用低級別的API,而不禁用整個站點緩存(3箇中間件類),這是絕對正確的:緩存統計信息知道真相 – dolma33 2010-12-17 15:48:32