文章詳情頁
Mysql && Redis 并發(fā)問題
瀏覽:81日期:2022-06-21 17:18:38
問題描述
數(shù)據(jù)庫:mysql緩存:redis有一套兌獎(jiǎng)碼系統(tǒng),用戶輸入兌獎(jiǎng)碼,程序驗(yàn)證兌獎(jiǎng)碼是否有效,并給出獎(jiǎng)品,兌獎(jiǎng)碼是唯一的。
用戶輸入兌獎(jiǎng)碼,讀緩存或數(shù)據(jù)庫,如果查到這個(gè)驗(yàn)證碼是有效的,設(shè)置數(shù)據(jù)庫和緩存兌獎(jiǎng)碼狀態(tài)失效,返回獎(jiǎng)品給用戶。
想問下如何處理兩個(gè)并發(fā)請(qǐng)求驗(yàn)證同一個(gè)兌獎(jiǎng)碼的情況?(只允許一人一個(gè)兌獎(jiǎng)碼)
問題解答
回答1:redis是單線程的,可以滿足這個(gè)需求
回答2:Redis為單進(jìn)程單線程模式,采用隊(duì)列模式將并發(fā)訪問變?yōu)榇性L問
回答3:mysql:可以使用select。。for update實(shí)現(xiàn)行級(jí)鎖。
相關(guān)文章:
1. 一個(gè)走錯(cuò)路的23歲傻小子的提問2. python - 如何使用pykafka consumer進(jìn)行數(shù)據(jù)處理并保存?3. javascript - SuperSlide.js火狐不兼容怎么回事呢4. java - 創(chuàng)建maven項(xiàng)目失敗了 求解決方法5. node.js - 函數(shù)getByName()中如何使得co執(zhí)行完后才return6. java-se - 正在學(xué)習(xí)Java SE,為什么感覺學(xué)習(xí)Java就是在學(xué)習(xí)一些API。7. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?8. python - django 里自定義的 login 方法,如何使用 login_required()9. java - 安卓電視盒子取得了root權(quán)限但是不能安裝第三方應(yīng)用,請(qǐng)問該怎么辦?10. 一個(gè)mysql聯(lián)表查詢的問題
排行榜

熱門標(biāo)簽