我剛剛設置我們的開發Django站點使用redis作爲緩存後端,並且它都工作正常。我放下了redis以查看會發生什麼,並確定Django 404的緩存後端行爲。連接被拒絕或其他各種錯誤。有沒有辦法忽略Django中的Cache錯誤?
有什麼辦法可以指示Django忽略Cache錯誤,並繼續處理正常的方式嗎?看起來很奇怪,緩存是一種性能優化,但如果失敗,可能會導致整個網站崩潰。
我試着寫圍繞後端的包裝,像這樣:
class CacheClass(redis_backend.CacheClass):
""" Wraps the desired Cache, and falls back to global_settings default on init failure """
def __init__(self, server, params):
try:
super(CacheClass, self).__init__(server, params)
except Exception:
from django.core import cache as _
_.cache = _.get_cache('locmem://')
但是,這是行不通的,因爲我正在嘗試設置在設置緩存類型呼叫的緩存類型。這是一個非常大的混亂。
那麼,是否有任何簡單的方法來緩存緩存錯誤?或者在失敗時設置默認緩存後端?
感謝您的鏈接,但它允許支持多個後端。錯誤處理代碼仍然需要去某處 - 並且從調用者中刪除是我所追求的。 – 2011-01-02 10:50:31