購物車實(shí)現(xiàn)的幾種方式優(yōu)缺點(diǎn)對比
購物車的話目前來說有三種,分別是存儲(chǔ)在cookie中或是session中,或是結(jié)合 數(shù)據(jù)庫存儲(chǔ)
第一種是存儲(chǔ)在cookie中
優(yōu)點(diǎn):
1.cookie是存儲(chǔ)在客戶端的,且占用很少的資源,一般cookie中可以存儲(chǔ)300個(gè)cookie,每個(gè)cookie為4KB,既可以滿足購物車的需求,還可以減輕服務(wù)器的壓力.
2.cookie是瀏覽器內(nèi)置,只要在cookie定義的有效期內(nèi),數(shù)據(jù)都不會(huì)丟失.
3.二區(qū)cookie不是可執(zhí)行文件,所以不會(huì)給用戶帶來病毒或攻擊用戶系統(tǒng)
缺點(diǎn):
1.基于cookie開發(fā)的購物車要求用戶瀏覽器必須支持并設(shè)置為啟用cookie,否則購物車則失效.
2.存在著關(guān)于cookie侵犯訪問者隱私的爭論,因此有些用戶會(huì)禁止本機(jī)cookie的功能.
3.如果換一臺機(jī)器在去登錄的話,就會(huì)丟失購物車信息;
第二種是session
優(yōu)點(diǎn):
1.session可以與客戶端保持同步,不依賴與客戶端的設(shè)置.
2.與cookie相比,session是存儲(chǔ)在服務(wù)器端的信息,因此比較安全;
缺點(diǎn):.
1.session會(huì)占用服務(wù)器資源,加大服務(wù)器的負(fù)載,尤其當(dāng)并發(fā)用戶很多時(shí),會(huì)生成大量的session,影響服務(wù)器的性能.
2.由于session存儲(chǔ)的信息更加敏感,而且是以文件形式保存在服務(wù)器中,所以也存在著安全隱患;
第三種是結(jié)合數(shù)據(jù)庫的方式
這種模式是目前比較普遍的.
它有一下特點(diǎn)
優(yōu)點(diǎn):
1.數(shù)據(jù)庫與cookie分別負(fù)責(zé)記錄數(shù)據(jù)和維持回話,能發(fā)揮各自的優(yōu)勢,使安全性和服務(wù)器性能都得到了提高;
2.不論換到哪一個(gè)機(jī)器上,購物車信息都不丟失;
缺點(diǎn):
1.每個(gè)購物的行為 ,都要與數(shù)據(jù)庫進(jìn)行連接,直至對表的操作完成后,連接才釋放.當(dāng)并發(fā)用戶很多時(shí),會(huì)影響數(shù)據(jù)庫的性能 ,這時(shí)對數(shù)據(jù)庫的性能提出了更高的要求;
2.使用cookie維持回話,需要客戶端的支持.
相關(guān)文章
laravel 5.3 單用戶登錄簡單實(shí)現(xiàn)方法
今天小編就為大家分享一篇laravel 5.3 單用戶登錄簡單實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
阿里云PHP SMS短信服務(wù)驗(yàn)證碼發(fā)送方法
這篇文章主要介紹了阿里云PHP SMS短信服務(wù)驗(yàn)證碼發(fā)送方法,需要的朋友可以參考下2017-07-07
PHP輸出緩沖控制Output Control系列函數(shù)詳解
這篇文章主要介紹了PHP輸出緩沖控制Output Control系列函數(shù)詳解,本文講解了輸出緩沖的簡介、輸出緩沖的作用、php.ini 中的相關(guān)配置項(xiàng)、Output Control 函數(shù)詳解等內(nèi)容,需要的朋友可以參考下2015-07-07
thinkPHP中_initialize方法實(shí)例分析
這篇文章主要介紹了thinkPHP中_initialize方法,結(jié)合實(shí)例形式分析了子類調(diào)用父類_initialize方法的原理與相關(guān)操作技巧,需要的朋友可以參考下2016-12-12

