美文网首页Laravel
Laravel中使用redis的订阅和发布功能

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

作者: 足迹人生2017 | 来源:发表于2017-08-03 18:10 被阅读633次
    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']));
    });
    

    相关文章

      网友评论

        本文标题:Laravel中使用redis的订阅和发布功能

        本文链接:https://www.haomeiwen.com/subject/jtnplxtx.html