当前位置: 首页 > web >正文

thinkphp使用redis抢单实例

问题:当客户预约时产生一个订单,该订单需要业务人员抢单后跟进

一,产生订单时设置redis

$redis = new Redis();
$ydkey = "yyqd_".$insertId;
$exptime = 600;//过期时间 600秒
$redis->lpush($ydkey,$$data);//压入订单ID
$redis->expire($ydkey, $exptime);//设置过期时间
$redis->set("yyqdtime_".$insertId,1,$exptime);

二,业务人员抢单

        $redis = new Redis();try{$yyqdtime = $redis->get("yyqdtime_".$id);if(empty($yyqdtime)){//过期了从数据库查询}else{$lsize = $redis->lsize("yyqd_".$id);if($lsize <= 0){$this->error('线上已被认领!');}$data = $redis->lpop("yyqd_".$id);//取出数据           if(empty($data)){$this->error('线上已被认领!');}   }}catch (Exception $e){//异常处理}

三,也可直接在抢单时先将业务人员ID压入队列,另外启动进程从队列中逐个取出业务人员ID进行数据处理

http://www.xdnf.cn/news/15110.html

相关文章:

  • 提取出Wallpaper Engine壁纸的mpkg类静态壁纸
  • LKT4304稳定可靠高兼容性国产安全加密芯片
  • Linux操作系统之进程间通信:管道概念
  • Qt6中模态与非模态对话框区别
  • 基于Spring Boot+Vue的巴彦淖尔旅游网站(AI问答、腾讯地图API、WebSocket及时通讯、支付宝沙盒支付)
  • 以太网基础④IP 协议介绍与 IP 校验和算法实现
  • Deepseek搭建智能体个人知识库
  • HashMap的get与put流程源码深度解析
  • 详解CAN总线的位填充机制
  • LLM的表征做减法的是什么,自然语言是一个矩阵,怎么进行减法的
  • S7-1500——(一)从入门到精通1、基于TIA 博途解析PLC程序结构(二)
  • 服务器中source: not found解决方法
  • AP中的Execution Manager“非报告进程”和“伴随进程”概念解析
  • Django核心知识点详解:JSON、AJAX、Cookie、Session与用户认证
  • RAG实战之dify源码文件解析-pdf文件解析流程
  • QT6 源(158)模型视图架构里的文件系统模型 QFileSystemModel 篇一:属性,成员函数,与信号函数
  • 在 macOS 上安装与自定义 Oh My Zsh:让终端美观又高效 [特殊字符]
  • Microsoft AZ-305 Exam Question
  • Git常用指令
  • Python-文件操作
  • 如何将 AWS EBS 卷从 gp2 批量迁移到 gp3:完整指南
  • RabbitMQ 高级特性之事务
  • FPGA加速HMI实时渲染:复杂图形处理的并行计算方案
  • 【macOS】【Swift】【RTF】黑色文字在macOS深色外观下看不清的解决方法
  • 5.注册中心横向对比:Nacos vs Eureka vs Consul —— 深度解析与科学选型指南
  • 字体 Unicode 区块字符展示 PDF 生成器
  • MySQL 09 普通索引和唯一索引
  • 5N70-ASEMI电源管理领域专用5N70
  • 前端业务监控系统,异常上报业务,异常队列收集,异常捕获
  • 【Unity】MiniGame编辑器小游戏(十)连连看【Link】