2017-04-27 122 views
3

我有一個使用FileSystem緩存的Django安裝。緩存系統由不同視圖的數組使用。當在緩存中沒有找到密鑰並因此重新生成密鑰時,將各種日誌記錄到日誌中,我發現密鑰經常丟失。我沒有任何「緩存刪除」,並且所有密鑰都保存了24小時,但在日誌中它們似乎都會在一段時間後重新生成。Django緩存失去密鑰

是否有任何隱藏的參數,如「不要存儲超過n個鍵」或「超過n兆字節的數據」或什麼?我有點失落,因爲它似乎是鑰匙丟失,我不知道何時和爲什麼。我最初選擇的緩存位置是「/ tmp/django-cache」,所以我認爲tmp目錄可能已被Linux清除,但將位置更改爲我的主目錄中「更安全」的位置並不會不會改變異常。

此外,完整的緩存目錄大約25Mb,所以我不認爲有東西清理它,因爲它太大了。

有什麼想法?

+0

這是生產嗎?例如,你有多個服務器嗎? –

回答

2

在高速緩存允許之前locmemfilesystemdatabase後端被刪除舊值項目的最大數量是300,您可以通過設置OPTIONS>MAX_ENTRIES改變它。

Django documentation

MAX_ENTRIES:在高速緩存允許被刪除舊值之前的最大條目數。該參數默認爲300