我遇到过这样的情况:彩票系统一次处理交易的水平非常高,让我给您介绍一下背景:
有 10 种不同的抽奖方式。
每次抽奖都有很多场比赛,每场比赛都有很多号码。
每个号码都有限制,如果号码已经达到限制,我就不能再接受这个号码的投注了。
大约。单日下注总数为 68,000,即我的视图中有 68,000 行。
我在 MySQL 视图上有这种关系,示例:来自具有事务的 2 个表的联接的结果:
Draw Game Number accumulated limit
01 16 10 70,000 75,000
02 17 0102 65,000 60,000
03 18 123 20,000 25,000
... .. ... .... ......
... .. ... .... ......
总行数 = 68,000
我的问题是,我必须检查从此视图中累积的每个传入的新号码,以避免超出限制。
我已经采取了很多方法,但系统仍然很慢:
服务器非常强大,但我需要一种新方法来改进这个过程。 预先感谢。
考虑使用redis进行调峰。使用redis的set方法,对每个请求进行原子递增,保证到数据库的数据不超过限制。