簡體   English   中英

PHP,這是將數據存儲到會話和數據庫之間的更好方法嗎?

[英]PHP, which is the better way between storing data into session and database?

我正在建立一個網站,為用戶顯示推薦頁面。

用戶只需單擊下一步按鈕即可查看不同的推薦網頁。

我想檢查用戶可以進行的每一項活動。

因此,我將檢查用戶實際看到的頁面視圖。

1. there is a 'user_pageview' column for each users.
2. the numbers will increase every time if users click next button.

我可以發送查詢以每次更新數據。

但是,我相信這一步會讓我的服務器煩惱。

所以,我想將數據保存到會話中一段時間​​后再保存。

你怎么看?

是的,它會“讓你的服務器煩惱”。
同樣地,你騎着它“惹惱”你的車。

數據庫服務器的目的是操作數據 - 存儲,檢索,過濾等。
將數據存儲在數據庫中沒有什么本質上的錯誤。

索引重建(如果有的話)可能存在問題。
但是,跟蹤用戶會話也會出現問題。

所以,在我遇到數據庫問題之前我不會打擾會話(很可能永遠不會發生)。

我沒有看到在每個網頁瀏覽上增加user_pageview有什么問題,你可以這樣做

update table views set user_pageview = user_pageview + 1 where page_id = 4

您的PHP腳本無論如何都會連接到您的數據庫,並且該查詢本身不應該殺死您的服務器。

將其保存到會話中也會“惹惱”您的服務器,因為您需要發出請求才能將其保存到會話中。

如果你的意思是數據庫服務器,我的問題是:這是一個問題。 您是否注意到數據庫服務器正成為瓶頸? 我不這么認為,因為數據庫服務器應該能夠輕松地處理它。

但是我確實有數據庫性能問題而且你應該找到一種通過緩存來緩解數據庫服務器的方法。 例如,您可以將其存儲在會話中(確保在銷毀會話之前更新數據庫),或者在客戶端使用緩存(本地存儲)。

再次,您應該只考慮這個數據庫,因為數據庫服務器成為瓶頸。 如果是這種情況,我會首先嘗試檢查WTH是否與我的數據庫出錯(為什么它是瓶頸)。

暫無
暫無

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

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