抢红包高并发情况下的思考

在高并发的情况下读库读红包金额怕会读到相同的金额元素。然后因为redis的list类型的lpop操作是原子性的,即不会重复弹出同一个元素,因此采用了把金额推入list列表类型的方案,在红包分配完后把金额逐个推入到list中,在抢的时候执行lpop弹出操作,因为lpop的原子性,以此保证了唯一性。请问下我这种思路是否可行呢,不如不行,可以采用什么方式呢,或者有什么要思考或者优化的方法吗,十分感谢!

阅读 1.5k
1 个回答

解决这种秒杀场景,使用redis list方案也是一个主流解决方案,缺陷就是如果是那种商品类的涉及库存的话可能会占太多内存而已,其他的方案就是分布式锁,或者使用 reids DECRBY

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题