黄贵胜的gravatar头像
黄贵胜2020-12-09 20:35:19

百万级余额更新方案

目前项目遇到个问题,由于是短信业务,客户每次api接口提交都是几万或几十万的短信业务。每秒需要处理几百条短信,每条就得锁余额、更新余额释放锁,保证余额实时更新及准确性,一秒就得更新几百次余额,十分消耗资源。

目前是通过redis进行存储用户消费的余额,定时没5分钟更新一次用户余额,这样无法保证余额实时更新以及可能会出现负数的情况。

想问有更好的办法可以解决这个问题么

所有回答列表(2)
是一个鸽子啊的gravatar头像
是一个鸽子啊 LV162020年12月14日

先初始化Redis 把所有用户信息放redis里 。用redis模拟数据库,然后哪个用户改变记录下 ,采取类似消息队列的方式,哪个用户余额改变了  就异步写入真实数据库中

xiaoma123的gravatar头像
xiaoma123 LV22月27日

你没发现你这个东西和商城秒杀很像么  余额换成商品数量就是了 

解决方案都很成熟

顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友