我正在开发游戏的后端。玩家首先购买他们的门票,这些门票存储在数据库中,然后他们玩并可以获得某些奖品。每个玩家最多可以购买 60 张门票。
出现了一个新要求,为每场比赛的门票总数设定了一个上限——10 000 张门票。该实施将涉及向购买端点添加一个测试,检查当时购买的门票总数+当前购买所需的门票数量小于或等于该游戏的最大门票数量,以便购买被接受。
问题是,通过使用tickets表上的count计算当前购买的门票数量,返回的值可能是过时的,因为同时其他玩家可能已经购买了门票。
一种可能的解决方案是在购买期间锁定门票表,但这会对性能和用户体验产生负面影响。如果您有不同的想法,请告诉我。