首页 > 作文

Redis 高并发下处理抢购,抢红包,秒杀

更新时间:2023-04-08 20:11:02 阅读: 评论:0

欢迎大家访问我的博客www天鹅湖赏析.kevink.club, 定时更新php, swoole, golang,redis等内容

### 方案1,使用redis 加锁机制实现
原理:后台创建红包后,将红包个数存入redis,采用常量键名拼接红包id 作为key,红包个数为value存入redis,然后当用户领取红包的时候,前端肯定传红包id到后端,后端 先加redis锁,然后根据接收的红包id 读取key对应的值就是红包剩余个数,然后减1后再存入。

redis 锁机制处理方法,详见:/d/file/titlepic/pp 方案2,不使用redis 加锁机制实现

假设红包个数为10个, 在创建红包的时候,循环向red_pack_id . $packet_id 数组存放10个数,例如存入10个1 ,数字的值不没有实际意义,只是为了表明数组中有10个元素,每次有人领取到一个红包,就从数组red_pack_id . $packet_id 中pop出一个值,表示可领取的红包的个数减少了

public function getPacket(Request $reque南昌理工学院st) {                $packet_id = $request->打电话英语;input('packet_id',0);        if(!$packet_id){            return Respon::error('缺少参数:packet_id') ;         }        $redis湖南电子科技大学Config = config('databa.redis.default');        $redis = new Client($redisConfig);        $count = $redis->lpop('red_packet_id:'.$packet_id);        if(!$count){            return Respon::error('已经抢光了哦') ;        }        return Respon::succ关于中秋节的画简单又好看ess('恭喜您,抢到了哦!') ;     }

缺点:
* 这种办法如果红包个数1000个是要往队列插入1000条。

本文地址:https://blog.csdn.net/qq_21761149/article/details/107386477

本文发布于:2023-04-08 20:10:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/0276abc133dec5a67173c9bec69cbc97.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Redis 高并发下处理抢购,抢红包,秒杀.doc

本文 PDF 下载地址:Redis 高并发下处理抢购,抢红包,秒杀.pdf

标签:红包   个数   数组   机制
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图