我想問下比如做一個高并發(fā)的秒殺活動 如果都用了redis緩存 那啥時候做插入數(shù)據(jù)庫的操作比如活動進行中的時候 誰秒殺到了 都存入了緩存 那什么時候才把他們對應(yīng)的獎品存數(shù)據(jù)庫呢
1 回答

慕運維8079593
TA貢獻1876條經(jīng)驗 獲得超5個贊
可以用隊列消費異步寫mysql。每次寫入redis后,發(fā)送一條消息到隊列中,消費者獲取到消息后,通過redis獲取訂單信息,寫入mysql。
也可以設(shè)置一個定時,幾分鐘跑一次,拉取一次redis中的幾分鐘內(nèi)新增的訂單,寫入mysql。不過這個就需要注意redis占用問題,如果設(shè)計有缺陷可能會阻塞redis。
同時也要做好redis的持久化,免得redis崩潰后沒有持久化的數(shù)據(jù)丟失導(dǎo)致訂單對不上。
- 1 回答
- 0 關(guān)注
- 501 瀏覽
添加回答
舉報
0/150
提交
取消