簡體   English   中英

在會話中存儲用戶信息還是從mysql中提取用戶信息?

[英]Storing user information in session or pull from mysql?

選項1:登錄后,在SESSION中填充基本用戶信息(名稱,用戶ID,帳戶權限等)

  • 優點:通常,用戶信息都不會更改,因此不需要數據庫調用。 由於已經調用了SESSION,因此最好將信息存儲在此。
  • 缺點:在數據庫中更改用戶信息時,必須進行會話更新

選項2:僅存儲uid,每次都提取信息

  • 優點:沒有會話更新問題。 信息始終是最新的。
  • 缺點:MySQL查詢用戶數據(用戶基本信息,權限等)

我見過一些帖子聲稱會話方法也比MySQL快(盡管我懷疑它會帶來什么真正的改變)。 問題:最好的方法是什么,為什么? 我的直覺說#2 ...

將數據加載到會話中(毫無意義地為數據庫提供靜態信息),並且如果數據庫有更新,請同時更新會話。

您可以將兩者結合使用,在會話中加載只能由用戶(名稱或任何個人信息)更改的數據,並從數據庫中獲取其他用戶(例如admin)可以更改的數據(例如權限)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM