drf框架之session的存放位址

2021-10-12 12:43:27 字數 947 閱讀 2522

如果我們使用drf框架狀態保持使用的是session的話,而不是jwt,那麼我們的後台肯定要儲存資料,用於對比驗證,這樣儲存到那裡就成了問題,

儲存到mysql中,這是框架預設的儲存位址,在setting中可以不用設定,但是這種當使用者少的時候是沒問題的,但是使用者量很大的時候,伺服器開銷就會很大,影響效能

儲存到快取中redis中,這樣的話查詢速度就會很快,但是我們都知道redis資料一旦儲存滿的話,就會實行刪除策略,這樣會丟失一部分資料,導致使用者狀態無法保持,所以最好的辦法就是 資料庫-快取 並用,兩者都保持session,但是查詢時從redis中查詢,如果redis查詢不到了,再從mysql中查詢,這樣的話,就會開銷變小,建議選擇這種方法,我們需要在setting中設定一下:

# cookie 過期時間 一年

cookie_max_age =

365*24*

60*60# session過期時間 7天

session_cookie_age =7*

24*60*

60caches =},

}# session redis mysql中都儲存,查詢時先在redis中查詢,找不到再去mysql中查詢

session_engine =

"django.contrib.sessions.backends.cached_db"

session_cache_alias =

"session"

儲存在檔案系統中,也是在setting中設定:

session_engine =

'django.contrib.sessions.backends.file'

session_file_path =

'***'

# 檔案位置(確保有許可權,django預設是系統的臨時檔案目錄tempfile.gettempdir())

PHP CI框架之 Session的使用

this session set userdata name chen echo this session userdata name 用array設為session newuserdata array user 123456 password 123456789 logged in true th...

jsp中session和cookie的存和取的操作

存session 將username放到session中 session.setattribute username username 取session request.getsession getattribute username 由於session是內建物件可以直接使用 session.get...

DRF框架常用的幾個類用法介紹

1.apiview是rest framework提供的所有檢視的基類,繼承自django的view 2.支援定義的屬性 authentication classes 列表或元祖,身份認證類 permissoin classes 列表或元祖,許可權檢查類 throttle classes 列表或元祖,...