我目前正在編程我的網上商店的購物車,我想知道最好的解決方案是做什麼。什麼是我的購物車更好的解決方案?
我目前有5個會話,其中包含用戶爲了節省sql壓力而添加的項目的數據。但我剛剛讀到,使用會話對性能並不好,當服務器達到最大值時服務器會破壞會話(我不知道最大值是多少,我不指望數百個用戶在同一個位置購買項目時間,只有少數)。
總結,使用5次會話保存產品數據或使用查詢獲取產品的所有信息時,每次用戶訪問購物車時最好?
任何其他建議也歡迎!
我目前正在編程我的網上商店的購物車,我想知道最好的解決方案是做什麼。什麼是我的購物車更好的解決方案?
我目前有5個會話,其中包含用戶爲了節省sql壓力而添加的項目的數據。但我剛剛讀到,使用會話對性能並不好,當服務器達到最大值時服務器會破壞會話(我不知道最大值是多少,我不指望數百個用戶在同一個位置購買項目時間,只有少數)。
總結,使用5次會話保存產品數據或使用查詢獲取產品的所有信息時,每次用戶訪問購物車時最好?
任何其他建議也歡迎!
我認爲最好的辦法就是節約推車DB
因此,用戶將有一個永久的圖表上亞馬遜。
而且您可以在每個購物車上進行數據挖掘。
如果用戶登錄可以保存與用戶ID車/鍵
如果用戶anonimous你可以使用一個Cookie來標識匿名用戶
如果你不喜歡永恆您可以在已保存的購物車上放置時間戳
會話在配置的超時後或用戶關閉其瀏覽器或應用程序池回收時結束。
我將使用DB查詢緩存來保存產品信息,而不是會議
反正會話或高速緩存「壓力」服務器內存,數據庫的查詢壓力SQL
有人無論如何都會被強調。 恕我直言,最好的辦法是緩存sql響應,這樣你就可以平衡內存和查詢之間的壓力
如果你只希望有幾個用戶在你的網上商店任何時候購買,那麼保存到數據庫應該沒問題。
如果您擔心數據庫壓力過大,可以將用戶的臨時購物車保存爲cookie。這樣可以節省服務器不必擔心會話的問題 - 如果您需要這些會話,可以使用Webfarms,並允許您利用客戶機器通過JavaScript處理基本事項。
我也考慮過這個問題,但另一方面,如果它的細節沒有被修改,你將不得不檢查cookie。儘管如此,這仍然是一個更好的解決方案。感謝您的回覆! – Jamie 2013-03-11 11:09:47
_「剛纔讀到使用會話不利於性能,並且服務器在達到最大值時會破壞會話」_ - 請爲此提供源代碼。無論如何,這個問題不能合理地回答,除非你要找的答案是「這取決於」。 – CodeCaster 2013-03-11 10:46:30
很遺憾,我找不到有關會話性能的文章。我的實習學院告訴我關於會議破壞。 – Jamie 2013-03-11 11:02:05