1. 程式人生 > >電商專案中使用Redis實現秒殺功能

電商專案中使用Redis實現秒殺功能

參與過搶購活動就知道,很明顯的一點是商即便商品實際沒有了也是可以下單成功的,但是在支付的時候會提示你商品沒有了。

實現原理:list雙向連結串列

使用redis佇列,因為pop操作是原子的,即使有很多使用者同時到達,也是依次執行.(mysql事務在高併發下效能下降很厲害,檔案鎖的方式也是).

此處用到了Redis中的連結串列(list)資料型別:

'棧':從連結串列的頭部新增元素,先進後出


'佇列':從連結串列的尾部新增元素,先進先出


redis儲存資料時都有key和value,key和value要麼是String型別的,要麼是byte[]型別的

第一步:先將商品庫存存入佇列


第二步:搶購開始,設定庫存的快取週期


第三步:客戶端執行下單操作,下單前判斷redis佇列庫存量