第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數(shù)據(jù)庫中購物車表和訂單表的區(qū)別

數(shù)據(jù)庫中購物車表和訂單表的區(qū)別

PHP
人到中年有點甜 2023-03-26 14:09:01
我在網(wǎng)上商店網(wǎng)站上工作。我需要做一個購物車。我很困惑,為了制作購物車,我必須在我的數(shù)據(jù)庫中制作一個購物車表(具有 customer_id、product_id、qty、price).. 然后當客戶結(jié)賬購物車時,我必須制作另一個表( order) 存儲已簽出的訂單 ?? 那我必須做2張桌子,一張用來存放購物車,一張用來存放退房時的訂單?將簽出的訂單存儲在數(shù)據(jù)庫中是合乎邏輯的(因為它不需要太多更新..)但是.. 將購物車存儲在數(shù)據(jù)庫中是否有效?想象一下,每當客戶將商品添加到購物車時,我必須使用 INSERT 查詢,然后當客戶增加或減少數(shù)量時,我必須使用 UPDATE 查詢,然后當客戶刪除購物車時 DELETE 查詢......知道通??蛻魰啻翁砑拥劫徫镘?,然后在沒有結(jié)帳的情況下將其移除。也許他們改變了主意?什么是合乎邏輯的解決方案?謝謝您的幫助
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經(jīng)驗 獲得超2個贊

這取決于您的業(yè)務。如果您的業(yè)務需要;

  • 如果用戶未登錄您的網(wǎng)站,您可以保存在他們的 cookie 本地存儲中。

  • 如果用戶通過身份驗證,您可以從 cookie 中獲取所有購物車并保存到您的數(shù)據(jù)庫中

  • 如果沒有登錄付款,那么您不必在用戶的 cookie 和數(shù)據(jù)庫之間移動它們。

  • 如果用戶可能從多個平臺登錄,而你想統(tǒng)一購物車,那么你需要將購物車保存在你的數(shù)據(jù)庫(mysql 或任何其他數(shù)據(jù)庫)中。

您可以使用其他數(shù)據(jù)庫技術(shù),例如redis帶有過期選項的哈希。它非???,我認為它涵蓋了cart.

  • 使用會話標識符創(chuàng)建哈希

  • 用于EXPIRE設置生存時間(可能是 24 小時)- O(1)

  • 用于HSET添加產(chǎn)品及其數(shù)量 - 每個字段/值的 O(1)

  • 用于HINCRBY增加數(shù)量 - O(1)

  • 用于HDEL刪除具有各自數(shù)量的產(chǎn)品 - 單個字段的 O(1)

  • 用于HGETALL獲取所有購物車。- O(N) 字段數(shù)。

127.0.0.1:6379> hset user:somesessionidentifier:cart productid:2 5

(integer) 1

127.0.0.1:6379> expire user:somesessionidentifier:cart 86400

(integer) 1

127.0.0.1:6379> ttl user:somesessionidentifier:cart

(integer) 86394

127.0.0.1:6379> hset user:somesessionidentifier:cart productid:3 1

(integer) 1

127.0.0.1:6379> hset user:somesessionidentifier:cart productid:92 1

(integer) 1

127.0.0.1:6379> hset user:somesessionidentifier:cart productid:5 1

(integer) 1

127.0.0.1:6379> hgetall user:somesessionidentifier:cart

1) "productid:2"

2) "5"

3) "productid:3"

4) "1"

5) "productid:92"

6) "1"

7) "productid:5"

8) "1"

127.0.0.1:6379> HINCRBY user:somesessionidentifier:cart productid:2 1

(integer) 6

127.0.0.1:6379> HDEL user:somesessionidentifier:cart productid:5

(integer) 1

127.0.0.1:6379> hgetall user:somesessionidentifier:cart

1) "productid:2"

2) "6"

3) "productid:3"

4) "1"

5) "productid:92"

6) "1"

127.0.0.1:6379>


查看完整回答
反對 回復 2023-03-26
  • 1 回答
  • 0 關(guān)注
  • 207 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號