前言:

小编时间隔了一年多之久未更新了,繁忙的工作和生活阶段性告一段落了,重新拾起笔杆子码字啦。虽然也没几个粉丝,但是依然干货满满,也算是一个阶段性的总结,也是重新拾起技术的笔记,也是方便记录知识点好之后查看。码字不易,欢迎拍砖。

1、Redis

redis 作为消息队列来使用,在很多项目中都有运用。最重要的特性就是内存型的消息队列。那有些人就要说了,redis 是一个缓存中间键,哪里有什么消息队列。如果了解过数据结构与算法的话,就很容易理解。消息队列是一种队列数据结构,具有先进先出的特性,是可以通过代码来实现的。

redis 6.0版本之前都是单线程的。所有的操作的是原子性的(要么全部执行成功,要么全部失败)这样都天然的支持高并发的业务场景。来实现队列的功能也相对简单。

加入到队列

$cacheKey = 'key';  
$data = array($key=>$value);
$ret = $redis->rPush($cacheKey , $data);

取出队列

 $ret = $redis->rPop($cacheKey);

总结

redis 做消息队列的优点:内存操作性能高。缺点也很明显,因为是内存,受限于内存
容量大小的限制,不易扩展。至于队列执行失败,数据丢失问题也可以在执行队列
RPOPLPUSH 这个方法进行补充。具体队里的链接地址,可以自行查看
Redis队列命令

2、rabbitmq

说起rabbitmq,就要从底层编程语言,erlang 编程语言说起,语言层面原生支持并发编程。不用担心并发产生的问题。rabbitmq 特性是文件型的消息队列。具体详细可以参考

RabbitMq 官网
超详细的RabbitMQ入门,看这篇就够了!

3、kafka

目前用的比较多的消息队。这些都是比较成熟的的中间键,开箱即用。详细知识点
Kafka 入门知识

总结

 市面上的MQ队列产品有很多。最常用的使用场景 redis、rabbitmq 、kafka。
 redis 可以实现基于内存形式的消息队列
 rabbitmq 、kafka 是基于文件类型分布式消息队列。
 其中kafka 目前在最受欢迎的消息队列产品之一。使用广泛
 本文大体上介绍,市面上的常用的消息队列。具体的细节知识点,都有链接提供参考。

叶剑飞雪
137 声望9 粉丝

引用和评论

0 条评论