reids配合PHP创建队列

使用redis创建一个队列

创建一个Queue类,使其拥有push,pop,getSize属性。符合队列的先进先出原则

<?php
/**
 * Created by PhpStorm.
 * 使用redis的list类型创建一个消息队列
 * User: liwenqiang
 * Date: 2018/5/17
 * Time: 10:58
 */

namespace App\Models\RedisList;


use Predis\Client;

class Queue
{
    private $queueName;
    private $queueKey;
    private $client;
    private $timeout;

    public function __construct($queueName)
    {
        $this->client = new Client();
        $this->queueName = $queueName;
        $this->queueKey = "queue:".$queueName;
        $this->timeout = 0;
    }

    public function getSize()
    {
        return $this->client->llen($this->queueKey);
    }

    public function push($element)
    {
        $this->client->lpush($this->queueKey,$element);
    }

    public function pop()
    {
        return $this->client->brpop([$this->queueKey],$this->timeout);
    }

}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,084评论 8 265
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,272评论 19 139
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,912评论 1 32
  • 一口含住西伯利亚最深色的石 我是身子虚弱的空调 只敢把远方冰寒颤颤地吹 在夏季 忽开忽关 忽冷忽热 忽爱忽恨 是背...
    好痛阅读 3,150评论 7 0
  • 第二天一大早,趁着父亲出门干活的当口,清音望了一眼还在睡梦中的弟弟。弟弟很瘦,又黑,就像一只营养不良的猴子。 “阿...
    哎呀意阅读 1,796评论 0 3

友情链接更多精彩内容