-
服务端 <?php include './db.php'; //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis_name="miaosha"; $db=DB::getIntance(); //死循环, while (1){ //第一步 //从队列最左侧取出一个值来, $user = $redis->lPop($redis_name); //然后判断这个值是否存在, if(!$user||$user=='nil'){ sleep(2); continue; } //如果存在切割出时间,uid $user_arr = explode('%', $user); $insert_data = array( 'uid' => $user_arr[0], 'time_stamp' => $user_arr[1]); $res = $db->insert('redis_queue',$insert_data); //保存数据库中, if(!$res){ $redis->rPush($redis_name,$user); } sleep(2); //第二部 //redis如果把值取出来这个值就不在队列里了 //如果出现问题了我的业务没有完成失败的情况下,我们需要有一个备份机制把值重新插回队列里 //数据库插入失败时候的回滚机制 //释放一下redis } $redis->close(); ?>
查看全部 -
棒 继续加油
查看全部 -
LTRIM:保留置顶区间内的元素
LLEN:获取列表长度
LSET:通过索引设置列表元素值
LINDEX:通过索引获取列表中的元素
LRANGE:获取列表置顶范围内的元素
查看全部 -
LPUSH/LPUSHX:将值插入到(/存在的)列表头部->带X为存在的
RPUSH/RPUSHX:将值插入到(/存在的)列表尾部->带X为存在的
LPOP:移出并获取列表的第一个元素
RPOP:移出并获取列表的最后一个元素
查看全部 -
查看文件安装路径方法:
1、dpkg -L softwarename;
2、sudo apt-get install apt-file,
然后使用命令:apt-file list softwarename,
查看全部 -
Redis List类型
查看全部 -
消息队列的应用场景
冗余:记录订单处理程序
解耦:分离两套系统,入队出队系统各不影响
流量削峰:抢购秒杀
异步通信:入队
扩展性:订单队列可扩展,新接口处理。
排序保证:顺序排位
队列介质:Mysql,Redis(单个包太大,效率低),消息系统
查看全部 -
左侧插入 lpush
查看全部 -
redis新手学习:949359454,不懂的可以在群里提问哦
查看全部 -
redis新手学习交流群:949359454,不懂的可以在群里提问哦
查看全部 -
redis新手学习交流群:949359454,不懂的可以在群里提问哦
查看全部 -
redis消息队列的应用场景
查看全部 -
PHP插件
查看全部 -
RabbitMQ使用
查看全部
举报
0/150
提交
取消