推 arinqoo:感謝大大精闢的見解~~~ 10/21 12:41
※ 引述《arinqoo (喵)》之銘言:
: 目前正在嘗試關於購物車的寫法
: 觀察到目前有些網站將購物車區分為兩種
: 一種是處理單一訂單的購物車 送出後 session內的資料就清空
: (姑且叫他暫時性的購物車)
: 另一種是會員制登入後購物清單可以一直保留 (簡稱永久購物車 ^^ )
: 針對可以一直保留的購物清單(永久購物車) 不知道是怎麼運行
: 個人推測是與cookie並用 所以可以偵測到所保留的清單
: 或者是 直接將暫存在session內的資料存入資料庫
: 下次登入後 檢查資料 然後呈現尚未完成的購物清單
: 不知道我的推測是否正確 可否請版上的大大指點一下
: 謝謝 ^^
沒有一致的答案:p
不管怎麼樣在server上保存個別user資料的基本方法是session
但是不是要一直保留在session上,要做評估才會知道
假設你一定的資料保存原則為只要登入了就放在session中
但是可能你的網站不小心做大了
同時間要保持那麼多資料在session
(in memory? 不太記得php是怎樣了。
不過至少memory中有session的handle XD <--- 真投機啊 )
server上的memory可能會被吃掉太多而其他服務只好在較少
memory的情況下使用,因此莫名地拖慢了整體的速度。
你就可能想要調整一下原則了。
那如果全存在db中呢? 就是每一個人要享用公平等待db IO的時間
================================================= 唬爛開始分隔線 ==
那有平衡的方法嗎? 將user分類 (不管透過什麼謎樣的機制)
來做客製作的session管理?
1. 登入時間短,購物後馬上確定交易 --> session in memory
2. 登入時間長,但多半在做window shopping --> session in db
3. 登入時間不一定,也不一定會不會馬上使用購物車
--> hybrid m/d 人少時就給他放memory,人多時就塞到db去
4. 任何還沒想到的方法 orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.59.94.161