5分钟学会Redis实现消息队列

                                                    Redis实现消息队列

一、前言

       首先 明确消息队列的作用:异步、解耦、削峰。

       在业务的实现过程中,就算没有大量的流量,解耦和异步化几乎也是处处可用,此时MQ就显得尤为重要。

           但与此同时MQ也是一个重量级的组件,在中小型业务的开发过程中,过重的组件服务也会成倍增加工作量。

           所幸的是,redis提供的list数据结构非常适合做消息队列。(文章最后有redis实现消息队列的代码实现哦!)

           现 总结如下:

二、Redis实现消息队列的两种方式

       ①、Redis队列模式 (此章节重点讲述)

       ②、Redis发布订阅模式

三、Redis队列模式实现原理

       redis队列模式(两种命令方式,均满足 先进先出 的队列模式)

            ①、lpush   rpop :非阻塞式     

            ②、lpush   brpop :阻塞式       ( 推荐此种方式            

   

              注意 :在这里只讲解redis实现消息队列的相关命令使用。

                          如需要查看redis命令详解,请前往如下链接: 5分钟学会Redis命令详解

            --------------------------------------↓↓↓↓↓↓↓↓↓↓ -------------------------------------

      

       ①、lpush   rpop :非阻塞式

               

               从上图命令中可以看出,rpop 是非阻塞式。

      

       ②、lpush   brpop :阻塞式 (推荐此种方式)

               

               

               

               

               从上图命令中可以看出,brpop 是阻塞式。

             

               从上图命令中可以看出,brpop可以接收多个键,意义是同时检测多个键,如果所有键都没有元素

               则阻塞,如果其中一个有元素则从该键中弹出该元素,只弹出一个消息。

               (会按照key的顺序进行读取,可以实现具有优先级的队列)。

四、Redis实现消息队列-java代码实现

       再 上述文章中,重点讲解 redis实现消息队列的 原理实现 

       但作为一个合格的程序猿来say,除了代码一切都是浮云 ... 

       于是,小主在工作闲暇时间,废寝忘食、忘乎所以,还是写了个小demo,供猿友们参考;

           现 请前往如下链接:5分钟学会Redis实现消息队列-java代码实现

                       Now ~ ~ ~写到这里,就写完了,如果有幸帮助到你,请记得关注我,共同一起见证我们的成长

发布了74 篇原创文章 · 获赞 253 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/qq_42175986/article/details/88417023