第一次做btoc站點的購物車,總結了一下購物車中資料的存放方式
方式1:用會話
會話中可以存放任何型別資料,每個使用者有乙個唯一的會話id,用此id區分不同使用者的購物車
會話資料是存放在web伺服器的記憶體中的,如果使用購物車的使用者比較多的話,這樣一來將占用大量伺服器資源
會話有一小缺陷,它是依靠cookie來與使用者通訊的,一旦使用者關閉cookie,使用會話將比較麻煩
當然在asp。net中還有另2種方式儲存會話資料
一種是指定另一台伺服器來存放會話資料,這樣一來可以有效分擔web伺服器的執行開銷。
另一種是把會話資料存放在ms sql中,ms sql是利用區域性臨時表實現的,會話資料放在區域性臨時表中,ms sql為每乙個區域性臨時表也分配乙個唯一的id
,我想是用此id區分不同使用者的不同會話資料的。但是我不推薦使用此方法,頻繁在資料庫裡面建立和刪除臨時表對資料庫的開銷太大
方式2:在資料庫裡面用表(shopingcart)
我喜歡的實現方式
表有幾個基本字段
cartid 購物車id(唯一)
id 商品的id(唯一)
qty 使用者購買商品的數量
createdate 購物車建立時間
此表的字段cartid是區分不同使用者的購物車的id,要是登陸使用者,你可以在表中存放此登陸使用者的登陸名的id,要是未登陸使用者使用購物車,
你可以給他分配乙個guid(全球唯一標誌)做購物車id
此方法有也有一些缺陷,一是它會造成大量無效資料,大家都知道,使用購物車的人,不一定會最終結帳購買商品。但是使用購物車就得
往表(shopingcart)裡面插入相關資料,未登陸使用者一離開站點,他在表中的資料就成了一堆廢資料,因為他在下次登陸時,我們分配給他的
是乙個新的cartid購物車id.有廢資料我們就得時常來維護此表,我們可以寫乙個清除廢資料的過程(利用欄位createdate和cartid可以判斷無效資料),人工呼叫執行也可以,要是想由ms sql代我們來執行,就可以設定乙個job,由job自動呼叫過程清楚廢資料
說拉缺陷,我們該說說此方式的優點拉
1。占用系統資源少,我們可以把資料庫安置在一台電腦中,web伺服器安置在另一電腦中,系統資源充分發揮
2。購物車中資料可以得到有效保留,我們可以試想一客戶在購物時,突然某其他原因(宕機等原因)離開了購物站,他在購物車中資料有效保
留下來,他下次登陸時購物車中還有上次保留的資料,避免使用者再次選購商品的操作(此功能只對登陸使用者的購物車有效) ,要是用會話實現
購物車,所有使用者一旦離開站點,他的購物車中資料全部失效
好拉,我就總結了這些,由於剛剛接觸asp。net,對許多方面還認識不多,可能還有其他一些方法實現購物車,希望大家能夠給與指點,謝謝大家
我的email: [email protected]
我的系列文章
a.sql server2005 transact-sql 新兵器學習
b.mcad學習
c.**閱讀總結
d.asp.net狀態管理
e.db(資料庫)
f.wap
g.winform
h.flex
我的好文推薦
sql server2005 transact-sql 新兵器學習總結之-總結
ms sql資料庫備份和恢復儲存過程(加強版本)
sql server中分布式查詢隨筆(鏈結伺服器(sp_addlinkedserver)和遠端登入對映(sp_addlinkedsrvlogin)使用小總結)
asp.net2.0國際化/本地化應用程式的實現總結(多語言,多文化頁面的實現)
wap開發資料站(最新更新)
自定義格式字串隨筆 (iformattable,iformatprovider,icustomformatter三介面的實現)
mcad學習筆記之非同步程式設計(asynccallback 委託,iasyncresult介面,begininvoke方法,endinvoke方法的使用小總結)
mcad學習筆記之通過反射呼叫類的方法,屬性,字段,索引器(2種方法)
mcad學習筆記之序列化(2進製和soap序列 化)
mcad學習筆記之委託再理解(delegate的構造器,begininvoke,endinvoke,invoke4個方法的**)
asp.net狀態管理之一(概括篇)
flex,fms學習筆記
購物車中資料的存放方式
第一次做btoc站點的購物車,總結了一下購物車中資料的存放方式 方式1 用會話 會話中可以存放任何型別資料,每個使用者有乙個唯一的會話id,用此id區分不同使用者的購物車 會話資料是存放在web伺服器的記憶體中的,如果使用購物車的使用者比較多的話,這樣一來將占用大量伺服器資源 會話有一小缺陷,它是依...
購物車中資料的存放方式
第一次做btoc站點的購物車,總結了一下購物車中資料的存放方式 方式1 用會話 會話中可以存放任何型別資料,每個使用者有乙個唯一的會話id,用此id區分不同使用者的購物車 會話資料是存放在web伺服器的記憶體中的,如果使用購物車的使用者比較多的話,這樣一來將占用大量伺服器資源 會話有一小缺陷,它是依...
購物車往mysql裡面傳值 購物車中資料的存放方式
第一次做btoc站點的購物車,總結了一下購物車中資料的存放方式 方式1 用會話 會話中可以存放任何型別資料,每個使用者有乙個唯一的會話id,用此id區分不同使用者的購物車 會話資料是存放在web伺服器的記憶體中的,如果使用購物車的使用者比較多的話,這樣一來將占用大量伺服器資源 會話有一小缺陷,它是依...