博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis实现简单的消息队列
阅读量:6354 次
发布时间:2019-06-22

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

 

 

1、问:什么是消息队列?

   答:是一个消息的,是一个异步处理的数据处理引擎。

2、问:有什么好处?

     答:不仅能够提高系统的负荷,还能够改善因网络阻塞导致的数据缺失。

3、问:用途有哪些?

     答:邮件发送、手机短信发送,数据表单提交、图片生成、视频转换、日志储存等。

4、问:有哪些软件?

     答:ZeroMQ、Posix、SquirrelMQ、Redis、QDBM、Tokyo Tyrant、HTTPSQS等(linux平台下)。

5、问:怎么实现?

     答:顾名思义,先入队,后出队;先把数据丢到消息队列(入队),后根据相应的key来获取数据(出队)。

6、问:Redis可以做消息队列?

     答:首先,redis设计用来做缓存的,但是由于它自身的某种特性使得它可以用来做消息队列,它有几个阻塞式的API可以使用,正是这些阻塞式的API让其有能力做消息队列;另外,做消息队列的其他特性例如FIFO(先入先出)也很容易实现,只需要一个list对象从头取数据,从尾部塞数据即可;redis能做消息队列还得益于其list对象blpop brpop接口以及Pub/Sub(发布/订阅)的某些接口,它们都是阻塞版的,所以可以用来做消息队列。

7、问:怎么做(基于ThinkPHP)?

     答:7.1 安装redis,过程(略);

       7.2 安装php-redis扩展,过程(略);

          7.3 贴代码

                          图1 入队

          

                                             图2 入队结果

          

                                              图3 出队

          

                                              图4 出队结果

          

                                               图5 完整代码

           

8、小结:redis的lPush命令将一个或多个值插入到列表头部与rPush与rPush相反;rPop命令用于溢出并返回列表的最后一个元素与lPop相反。

转载于:https://www.cnblogs.com/isuansuan/p/9727033.html

你可能感兴趣的文章
HTTP解析-----第一课
查看>>
constructor 属性返回变量或对象的构造函数。判断是否为日期,数组的例子
查看>>
Filesystem Hierarchy Standard
查看>>
简单的计算几何
查看>>
在Windows2008r2 安装.net4.5
查看>>
小程序学习视频教程
查看>>
js 脚本学习 索引
查看>>
外部服务的隔离及降级
查看>>
性能优化浅谈
查看>>
读取一个文件,将其Base64编码,每76个字符加一个换行(转)
查看>>
用NuGet安装NewtonSoft.json
查看>>
codeforces723E One-Way Reform(欧拉通路)
查看>>
git 常用
查看>>
腾讯前端二面题目详解
查看>>
转:Fedora16安装教程
查看>>
技术普及帖:你刚才在淘宝上买了一件东西
查看>>
Python使用Scrapy爬虫框架全站爬取图片并保存本地(@妹子图@)
查看>>
UVA 1394 And Then There Was One 约瑟夫环数学方法
查看>>
cookie和session
查看>>
MySQL命令行--导入导出数据库
查看>>