本篇文章给大家分享的是有关redis中队列消息实现应用解耦,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1、如果redis服务器挂掉了怎么办啊?
在采购模块的签收逻辑代码中做判断,如果入列成功则返回签收完成,如果入列失败这运行传统方法,通过接口入库的方法。如果redis也挂了,仓库模块也挂了怎么办啊,那你就收拾包袱回家吧。
2、如何实现传统方式那样实时入库啊?
采用redis的订阅发布模式就可以解决。订阅的代码放在仓库模块,发布的代码放在采购模块。
订阅代码sub.php
<?php $redis = new Redis(); $redis->connect('localhost', 6379); $redis->subscribe(['ruku'], function ($redis, $chan, $msg) {//订阅入库频道 if($msg==2500){ //如果监听到有发布信息则从队列中拿取信息进行入库操作 。。。。。。。 } });
发布代码pub.php
<?php $redis = new Redis(); $redis->connect('localhost', 6379); $order = ['id' => 1, 'name' => '小米6', 'price' => 2499, 'created_at' => '2017-07-14'];$redis->lpush('order',$order); $redis->publish("ruku", 2500);
以上就是redis中队列消息实现应用解耦,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。