PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > Laravel教程 > 正文

    Laravel Redis 发布、订阅消息

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:Redis有一个重要的功能,即可发布、订阅消息,通过对消息的发布和订阅可以实现消息队列的功能。redis是通过publish和subscribe指令提供消息...
    Redis有一个重要的功能,即可发布、订阅消息,通过对消息的发布和订阅可以实现消息队列的功能。redis是通过publish和subscribe指令提供消息的发布和订阅的,通过订阅一个“队列”用于监听消息,当有消息通过publish指令发布到“队列”中时,订阅程序就会监听到消息并进行响应。

    下面讲述一下Laravel的实现

    Laravel中可以使用artisan命令“php artisan make:console  SendMsg --command=Send:Msg” 来创建一个订阅类,并修改该类的handle()函数,通过Reids::subscribe()方式订阅一个“队列”,但是,只创建一个控制台指令类还是不行的,需要将改类在控制台核心类(App\Console\Kerenl)的“$commands”属性中进行注册才能生效。具体实现代码如下:

    1. <?php 
    2.  
    3. namespace App\Console\Commands; 
    4.  
    5.  
    6. use Illuminate\Console\Command; 
    7. use Illuminate\Support\Facades\Redis as Redis; 
    8.  
    9. class SendMsg extends Command 
    10.     //控制台指令名称 
    11.     protected $signature = 'Send:Msg'
    12.  
    13.    //控制台指令的描述 
    14.     protected $description = '发布、订阅'
    15.  
    16.     /** 
    17.      * Create a new command instance. 
    18.      * 
    19.      * @return void 
    20.      */ 
    21.     public function __construct() 
    22.     { 
    23.         parent::__construct(); 
    24.     } 
    25.  
    26.     /** 
    27.      * Execute the console command. 
    28.      * 
    29.      * @return mixed 
    30.      */ 
    31.     public function handle() 
    32.     { 
    33.        Redis::subscribe(['redis-msg'],function($message){ 
    34.            echo $message
    35.        }); 
    36.     } 

    找到文件app\Console\Kernel.php

     

    1. //应用中提供artisan命令  www.bcty365.com B5教程网 
    2.  
    3. protected $commands =[ 
    4.      \App\Console\Commands\Inspire::class
    5.      \App\Console\Commands\SendMsg::class 


    下面建立路由测试

    找到文件app\Http\routes.php

    1. <?php 
    2.  
    3. Route::get('/',function(){ 
    4.  
    5. Redis::publish('redis-msg','测试发布订阅功能'); 
    6.  
    7. }) 


    ok,上面就基本实现了发布、订阅一个功能。
     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-153-6165-1.html
    相关热词搜索: Laravel Redis 发布订阅