在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/人工智能  PHP/ 如何實現(xiàn)影院購票操作,防止出現(xiàn)一票多買的現(xiàn)象?

如何實現(xiàn)影院購票操作,防止出現(xiàn)一票多買的現(xiàn)象?

近期有個項目是劇院票務(wù)管理系統(tǒng),但夠票模塊不知道該怎么實現(xiàn),起初采用MySQL數(shù)據(jù)庫的事務(wù)和加鎖機制,但還是會出現(xiàn)一些問題,最后想了想可不可以用Redis的消息隊列,但不知道具體如何去實現(xiàn),希望哪位大佬可以給一些思路或見解。萬分感謝。

回答
編輯回答
陪妳哭

12306是怎么實現(xiàn)的,每次買之前都去數(shù)據(jù)庫查一下,看看狀態(tài)對不對。狀態(tài)對了,就讓你買。不對就顯示被預(yù)定了

2018年9月17日 22:19
編輯回答
巫婆

用 redis 的 incrdecr、incrby 控制庫存的增減就好了,不用那么復(fù)雜。


簡單點說,生產(chǎn)庫存的時候,redis 中同步也生產(chǎn)了庫存,用戶購買請求過來只需加減 redis 中的庫存,redis 操作成功后再同步執(zhí)行 db 事務(wù),或者引入消息隊列異步執(zhí)行 db 事務(wù)。使用 redis 可以解決并發(fā)超賣的原因在于 redis 是單進程單線程同步操作,理解這個你就可以隨意去設(shè)計了,秒殺操作也如此。

2017年12月9日 14:18
編輯回答
黑與白

行級鎖不就OK了

2017年12月12日 02:10