ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2620|回复: 1

定时消费队列 演示swoole_timer_tick 消费redis 的队列

[复制链接]
发表于 2018-3-8 16:22:20 | 显示全部楼层 |阅读模式
原文地址:  https://segmentfault.com/a/1190000007527323


##入队操作##CLI模式执行 /usr/local/php/bin/php /data/www/www.54xinren.com/swooleDemo1.php

<?php
$redis=new Redis();

$redis->connect('127.0.0.1',6379);

//$redis->auth('tb');

for($i=0;$i<10;$i++){
  $res[]=$redis->lpush('lists',$i);
}
$len = $redis->llen('lists');   //显示队列长度
$list = $redis->lrange('lists', 0, $len);   //显示队列

var_dump($res);var_dump($list);


回复

使用道具 举报

 楼主| 发表于 2018-3-8 16:23:42 | 显示全部楼层
##出队操作##CLI模式 /usr/local/php/bin/php /data/www/www.54xinren.com/swooleDemo2.php
<?php

class Customer
{
    private static $_instance;
    private static $host;
    private static $port;
    private static $password;
    private static $list;
    private static $redisObj;


    private function __construct()
    {

        $redis = new Redis();
        $redis->connect(self::$host, self::$port);
        $redis->auth = self::$password;
        self::$_instance = $this;
        self::$redisObj = $redis;
        return self::$_instance;
    }

    public static function instance(array $param)
    {
        self::$host = $param['host'];
        self::$port = $param['port'];
        self::$password = $param['password'];
        self::$list = $param['list'];
        if (!empty(self::$_instance)) {
            return self::$_instance;
        } else {
            return new self();
        }
    }

    public function getMsg()
    {
        return self::$redisObj->rPop(self::$list);
    }
}

//使用swoole的间隔出队
swoole_timer_tick('500',function(){
    $params['host']='127.0.0.1';
    $params['port']=6379;
    //$params['password']='tb';
    $params['list']='lists';
    $s=Customer::instance($params);
    var_dump( $s->getMsg());
});

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 22:09 , Processed in 0.035447 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表