Django4.0 使用會話-清除會話存儲

2022-03-16 18:00 更新

當(dāng)用戶創(chuàng)建了新會話,會話數(shù)據(jù)會累積在會話存儲中。如果你正在使用數(shù)據(jù)庫后端,?django_session ?數(shù)據(jù)庫表會增加。如果你使用的是文件后端,臨時目錄會包含新增加的文件。

為了理解這個問題,要考慮數(shù)據(jù)庫后端會發(fā)生什么。當(dāng)用戶登錄時,Django 在 ?django_session ?增加了一行。每次會話更改時,Django 會更新該行。如果用戶手動退出,Django 會刪除該行。但如果用戶不退出,該行就不會被刪除。文件后端也是類似的處理。

Django 沒有提供過期會話自動清除的功能。因此,你需要定期清除過期會話。Django 提供了一個清除管理命令:?clearsessions ?。推薦在定期清除時使用該命令,例如在日常的定時任務(wù)中。

注意緩存后端不受此問題的影響,因?yàn)榫彺鏁詣觿h除過期數(shù)據(jù)。cookie 后端也一樣,因?yàn)闀挃?shù)據(jù)通過瀏覽器存儲。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號