2013-04-01 16 views
-1

對於網站,我希望用戶選擇網站的外觀方式,例如,如果用戶選擇「黑暗」主題,它會更新數據庫中的一行(使用「config」表或「主題「在用戶表中 - 尚未決定)在會話中存儲用戶的配置數據有什麼問題嗎?

但是,在登錄時,將配置選項存儲在會話中是否有任何問題,或者我應該只將該ID存儲在會話中並查詢數據庫每頁加載獲取用戶信息?我敢肯定會議選項對資源來說會好很多,但是它有什麼不利之處(當然,當改變我需要的選項以確保會話值也被更新時)嗎??????????????????????????????????

更新(用代碼):

選項1:每個頁面加載查詢DB - >獲取值(或者「暗」或「亮」,並使用此,以顯示正確的主題) 選項2:用戶在日誌中,將「黑」或「光」的會話變量,並用它來顯示正確的主題

+1

顯示代碼,很難在沒有看到代碼的情況下爲您提供幫助 – dimaninc

+0

實際上並沒有看到代碼是如何處理這個問題的?無論如何更新 – cantsay

+2

'在會話中存儲配置選項有什麼問題,或者我應該只將ID存儲在會話中,並在每次加載頁面時查詢數據庫以獲取用戶信息?'我想他只是在問使用PHP'$ _SESSION'用於存儲用戶的網站特定配置數據與否。不*如何*做到這一點,但_應該做或不做 – Ejaz

回答

1

就像你在選項2

在我看來這是更好地說我會做它到底在會話中「緩存」用戶相關數據。這包括您的網頁中可能經常使用的任何內容。

保存儘可能多的數據庫查詢總是比較好,因爲數據庫通常是網站性能的瓶頸。雖然可能有些情況下始終獲取最新數據至關重要。

如果每個頁面請求都有附加查詢,則在某些時候,這可能會成爲影響性能的重要因素。

正如你所提到的,更新會話和數據庫都是很重要的。對我而言,這是唯一的缺點,至少如果我們想這樣稱呼它的話。

相關問題