zoukankan      html  css  js  c++  java
  • Beanstalkd 消息队列

     

     

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

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

     

    apt安装

    启动beanstalkd

     安装php类pheanstalk

    demo.php连接测试下类

    在xshell里运行demo.php文件

     运行结果

     

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

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

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

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

    beanstalkd维护类有以下几种方法

     

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

     

    例子如下:

    beanstalkd的消费类

     

     总结:

    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:让任务重新计算给任务续命的

  • 相关阅读:
    Java提高班(五)深入理解BIO、NIO、AIO
    Java提高班(四)面试必备—你不知道的数据集合
    Spring Boot 系列总目录
    Java提高班(三)并发中的线程同步与锁
    Java提高班(二)深入理解线程池ThreadPool
    Spring Boot(十四)RabbitMQ延迟队列
    Spring Boot(十三)RabbitMQ安装与集成
    Spring Boot(十二)单元测试JUnit
    Spring Boot(十一)Redis集成从Docker安装到分布式Session共享
    VS2013中Python学习笔记[环境搭建]
  • 原文地址:https://www.cnblogs.com/zmdComeOn/p/10335175.html
Copyright © 2011-2022 走看看