文章詳情頁
Mysql && Redis 并發問題
瀏覽:128日期:2022-06-21 17:18:38
問題描述
數據庫:mysql緩存:redis有一套兌獎碼系統,用戶輸入兌獎碼,程序驗證兌獎碼是否有效,并給出獎品,兌獎碼是唯一的。
用戶輸入兌獎碼,讀緩存或數據庫,如果查到這個驗證碼是有效的,設置數據庫和緩存兌獎碼狀態失效,返回獎品給用戶。
想問下如何處理兩個并發請求驗證同一個兌獎碼的情況?(只允許一人一個兌獎碼)
問題解答
回答1:redis是單線程的,可以滿足這個需求
回答2:Redis為單進程單線程模式,采用隊列模式將并發訪問變為串行訪問
回答3:mysql:可以使用select。。for update實現行級鎖。
相關文章:
1. mysql - 在不允許改動數據表的情況下,如何優化以varchar格式存儲的時間的比較?2. javascript - Img.complete和img.onload判斷圖片加載完成有什么區別?3. docker網絡端口映射,沒有方便點的操作方法么?4. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?5. css3 - 純css實現點擊特效6. java中返回一個對象,和輸出對像的值,意義在哪兒7. 安全性測試 - nodejs中如何防mySQL注入8. javascript - 關于apply()與call()的問題9. MySQL中無法修改字段名的疑問10. python - 在sqlalchemy中獲取剛插入的數據id?
排行榜
