日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

登陆状态购物车数据结构

發布時間:2024/4/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 登陆状态购物车数据结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

后臺購物車設計

當用戶登錄時,我們需要把購物車數據保存到后臺,可以選擇保存在數據庫。但是購物車是一個讀寫頻率很高的數據。因此我們這里選擇讀寫效率比較高的Redis作為購物車存儲。

Redis有5種不同數據結構,這里選擇哪一種比較合適呢?Map<String, List<String>>

  • 首先不同用戶應該有獨立的購物車,因此購物車應該以用戶的作為key來存儲,Value是用戶的所有購物車信息。這樣看來基本的k-v結構就可以了。

  • 但是,我們對購物車中的商品進行增、刪、改操作,基本都需要根據商品id進行判斷,為了方便后期處理,我們的購物車也應該是k-v結構,key是商品id,value才是這個商品的購物車信息。

綜上所述,我們的購物車結構是一個雙層Map:Map<String,Map<String,String>>

  • 第一層Map,Key是用戶id

  • 第二層Map,Key是購物車中商品id,值是購物車數據

實體類:

public class Cart {private Long userId;// 用戶idprivate Long skuId;// 商品idprivate String title;// 標題private String image;// 圖片private Long price;// 加入購物車時的價格private Integer num;// 購買數量private String ownSpec;// 商品規格參數public Long getUserId() {return userId;}public void setUserId(Long userId) {this.userId = userId;}public Long getSkuId() {return skuId;}public void setSkuId(Long skuId) {this.skuId = skuId;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getImage() {return image;}public void setImage(String image) {this.image = image;}public Long getPrice() {return price;}public void setPrice(Long price) {this.price = price;}public Integer getNum() {return num;}public void setNum(Integer num) {this.num = num;}public String getOwnSpec() {return ownSpec;}public void setOwnSpec(String ownSpec) {this.ownSpec = ownSpec;} }

?

總結

以上是生活随笔為你收集整理的登陆状态购物车数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。