我想问下比如做一个高并发的秒杀活动 如果都用了redis缓存 那啥时候做插入数据库的操作比如活动进行中的时候 谁秒杀到了 都存入了缓存 那什么时候才把他们对应的奖品存数据库呢
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
可以用队列消费异步写mysql。每次写入redis后,发送一条消息到队列中,消费者获取到消息后,通过redis获取订单信息,写入mysql。
也可以设置一个定时,几分钟跑一次,拉取一次redis中的几分钟内新增的订单,写入mysql。不过这个就需要注意redis占用问题,如果设计有缺陷可能会阻塞redis。
同时也要做好redis的持久化,免得redis崩溃后没有持久化的数据丢失导致订单对不上。
- 1 回答
- 0 关注
- 476 浏览
添加回答
举报
0/150
提交
取消