Redis實際應用場景
阿新 • • 發佈:2021-11-18
摘錄自其他好文,簡單記錄,方便後續查閱。
1.hash型別應用場景
1. 電商購物車
業務場景
電商網站購物車設計與實現
業務分析
-
僅分析購物車的redis儲存模型
新增、瀏覽、更改數量、刪除、情況
-
購物車與資料庫間持久化同步(不討論)
-
購物車與訂單間關係(不討論)
提交購物車: 讀取資料生成訂單
商家臨時價格調整: 隸屬於訂單級別
-
未登入使用者購物車資訊儲存(不討論)
cookie儲存
解決方案
- 以客戶id作為key,每位使用者建立一個hash儲存結構儲存對應的購物車資訊
- 將商品編號作為field,購買數量作為value進行儲存
- 新增商品:追加全新的field和value
- 瀏覽:遍歷hash
- 更改數量: 自增/自減,設定value值
- 刪除商品: 刪除field
- 清空: 刪除key
當前僅僅是將資料儲存到redis中,並沒有起到加速的作用,商品資訊還需要二次查詢資料庫
-
每條購物車中的商品記錄儲存成兩條field
-
filed1專用於儲存購買數量
命名格式: 商品id:nums
儲存資料: 數值
-
field2專用於儲存購物車中顯示的資訊,包含文字描述,圖片地址,所屬商家資訊等
命名格式: 商品id:info
儲存資料: json
2.redis實現簡單搶購業務
業務場景
雙11活動日,銷售手機充值卡的商家對移動、聯通、電信、的30元、50元、100元、商品推出搶購活動,每種商品搶購上限是1000張。
解決方案
- 以商家id作為key
- 以參與搶購的商品id作為field
- 將參與搶購的商品數量作為對應的value
- 搶購時使用降值得方式控制產品數量
- 實際業務中還有超賣等實際問題,這裡不做討論