Laravel

Laravel中使用redis的订阅和发布功能

2017-08-03  本文已影响633人  足迹人生2017
  1. laravel5 框架 命令行执行的程序在app/Console/Commands目录下,默认情况下Console下面你能看到Kernal.phpCommands/Inspire.php两个系统文件。
    输入命令行

2.用phpStorm打开laravel项目,点击Terminal,在命令行中输出
php artisan make:console RedisSubscribe
会提示你 : “
Console command created successfully.
”;然后你再Console/Commands/下就发现了RedisSubscribe.php

QQ截图20170803174952.png

3.在RedisSubscribe.php写入如下代码

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Redis;
class RedisSubscribe extends Command
{
    /**
     * 控制台命令名称
     *
     * @var string
     */
    protected $signature = 'redis:subscribe';
    /**
     * 控制台命令描述
     *
     * @var string
     */
    protected $description = 'Subscribe to a Redis channel';
    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }
    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        Redis::subscribe(['test-channel'], function ($message) {
        });

    }
}

4.在Kernal.php中添加配置代码,按照上面在Terminal里敲入
php artisan optimize命令

QQ截图20170803180608.png

5 执行命令. 完成以上步骤后,就可以通过命令行来操作php程序了
php artisan redis:subscribe 就可以执行RedisSubscribe.php

6 测试
现在,我们可以使用publish发布消息到该频道:

Route::get('publish', function () {
    // 路由逻辑...
    Redis::publish('test-channel', json_encode(['foo' => 'bar']));
});
上一篇 下一篇

猜你喜欢

热点阅读