博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis事务
阅读量:4182 次
发布时间:2019-05-26

本文共 1518 字,大约阅读时间需要 5 分钟。

// 获取100条数据	    $list = $redis->lrange($key, 0, 100); //myvar_dump($list);	    	    // 开始redis事务	    $redis->multi();	    Db::startTrans();	    try {	        	        // 从list表头取出佣金订单,开始给用户增加佣金	        foreach ($list as $k=>$v){	                    	    $data = json_decode($v, true);	            if (!$data) {	                continue;	            }	            	            $confirmTime = strtotime($data['confirm_time']);	            if (!$confirmTime) {	                continue;	            }	            	            // 如果不是待转账状态,或者确认收货后未满7天	            $offsetDay = (time() - $confirmTime) / 3600 / 24;	            if ($data['status'] > 0 || $offsetDay < 6) {	                continue;	            }	            	            // 用到的字段	            $oid = $data['id']; // 佣金订单ID	            $userid = $data['parent_user_id']; // 收款人ID	            $money = $data['real_yongjin'];    // 收款金额	            	            // 执行增加佣金	            Db::execute('update user_user set yongjin_money=yongjin_money +? where user_id =?', 	               [$money, $userid]);	            	            // 执行变更佣金订单的状态	            Db::execute('update yongjin_order set status =1 where id=?', [$oid]);	            	            // 删除表头的数据	            $redis->lPop($key);	        }	            	    // 提交redis事务    	    $redis->exec();    	    Db::commit();    	    	    } catch (\Exception $e) {	            	    // redis事务回滚    	    $redis->discard();    	    Db::rollback();    	        	    Log::error($e->getMessage());    	    	    }

转载地址:http://bgeai.baihongyu.com/

你可能感兴趣的文章
设置IP别名Shell脚本
查看>>
Source Insight 宏-单行注释
查看>>
levelDB源码分析-Arena
查看>>
levelDB源码分析-SSTable
查看>>
平滑升级Nginx的Shell脚本
查看>>
SSH远程会话管理工具
查看>>
canvas标签设长宽是在css中还是在标签中
查看>>
如何创建一个vue项目
查看>>
webpack和webpack-simple中如何引入css文件
查看>>
vue1.0和vue2.0的区别之路由
查看>>
关于vue-router2.0的学习笔记
查看>>
vue1.0与2.0区别之生命周期
查看>>
vue2.0之非父子组件通信
查看>>
如何建立svn版本库并运行它
查看>>
如何合并svn分支到主干上
查看>>
libusb源码学习:list_entry
查看>>
libusb源码学习:几个函数加载的宏(windows)
查看>>
MCU_如何通过硬件VID 查找生产厂家
查看>>
NCNN部署例程 mxnet-gluoncv之simple_pose
查看>>
Ubuntu18.04查看显卡信息并安装NVDIA显卡驱动driver + Cuda + Cudnn
查看>>