Beanstalkd 消息队列

 

Beanstalkd 消息队列_第1张图片

Beanstalkd 消息队列_第2张图片

Beanstalkd 消息队列_第3张图片

 

 

 Beanstalkd 消息队列_第4张图片

 

 Beanstalkd 消息队列_第5张图片

 

 

Beanstalkd 消息队列_第6张图片

下面图很重要,一定要熟记

Beanstalkd 消息队列_第7张图片

安装beanstalkd与pheanstalk类(不支持windows系统)

 Beanstalkd 消息队列_第8张图片

apt安装

Beanstalkd 消息队列_第9张图片

启动beanstalkd

Beanstalkd 消息队列_第10张图片

 

 安装php类pheanstalk

Beanstalkd 消息队列_第11张图片

demo.php连接测试下类

Beanstalkd 消息队列_第12张图片

在xshell里运行demo.php文件

 运行结果

 Beanstalkd 消息队列_第13张图片

 

 使用方法分为三类:生产、消费、维护

生产:生产者用到的方法;

消费:消费者用到的方法;

维护:平时用来管理pheanstalk的命令方法。

 

beanstalkd维护类有以下几种方法

 Beanstalkd 消息队列_第14张图片

beanstalkd生产类的方法(往队列里添加任务的)

 Beanstalkd 消息队列_第15张图片

例子如下:

Beanstalkd 消息队列_第16张图片

Beanstalkd 消息队列_第17张图片

Beanstalkd 消息队列_第18张图片

Beanstalkd 消息队列_第19张图片

 

beanstalkd的消费类

 Beanstalkd 消息队列_第20张图片

Beanstalkd 消息队列_第21张图片

Beanstalkd 消息队列_第22张图片

 

 总结:

1、beanstalkd是什么:是一个高性能、轻量级的分布式内存队列

2、常用的队列服务:RabbitMQ、Kafka 3、生产者与消费者模式:

  生产者--》job--》消费者

4、特性:优先级、延迟、持久化、预留、任务超时重发

5、核心元素: 1、管道与任务: 生产者--》管道--》任务--》消费者

6、只支持linux,不支持window:安装beanstalkd与pheanstalk类

7、$pheanstalk=require 'beanstalkd.php';

   print_r($pheanstalk->status);

        维护类: stats:当前的状态

                        listTubes:当前的管道

                       statsTube:查看管道详细信息

                       useTube:指定要使用的管道

                       statsJob:任务的详细信息

                       peek:通过id取任务

       生产类:  putInTube:封装的

                       put:没有封装的

       消费类:  watch:设置监听的管道

                       ignore:去掉监听的管道

       reserve:监听阻塞的管道

       listTubesWatched:把监听的管道列出来

       reserveFromTube:把watch和reserve的方法合并起来

       release:重置任务,等下次执行

       bury:封存一个任务,等条件允许了,再消费

      peekBuried:读取预留任务

       kickJob:读取预留任务,变成ready,

      kick:可以输入数值,批量把小于这个值的变为buried--》ready peekReady: peekDelay: pauseTube:管道设置延迟

      resumeTube:取消管道延迟

       touch:让任务重新计算给任务续命的

 

你可能感兴趣的:(Beanstalkd 消息队列)