Django4.0 使用會(huì)話-清除會(huì)話存儲(chǔ)

2022-03-16 18:00 更新

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

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

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

注意緩存后端不受此問題的影響,因?yàn)榫彺鏁?huì)自動(dòng)刪除過期數(shù)據(jù)。cookie 后端也一樣,因?yàn)闀?huì)話數(shù)據(jù)通過瀏覽器存儲(chǔ)。


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)