美文网首页Redis
Redis 发布订阅

Redis 发布订阅

作者: mashen | 来源:发表于2017-10-12 11:09 被阅读0次

    Redis发布订阅

    像socket监听端口一样去监听一个频道 如果频道又消息发布订阅者会立即收到发布通知
    一个频道可以被多个用户订阅 一个用户也可订阅多个频道 当频道有信息发布时则立即收到通知
    通过此功能可以实现一些消息推送缓存监测等功能

    # 发布者
    
    // 连接redis
    $redis = new Redis();
    $redis->connect('127.0.0.1', 6379);
    
    // 发布频道信息
    // 频道名:one
    $message = 'this is one message';
    $num = $redis->publish('one',$message);
    
    // 收到订阅者的数量
    echo $num;
    
    # 订阅者
    
    // 防止超时
    set_time_limit(0);
    ini_set('default_socket_timeout',-1);
    
    // 连接redis
    $redis = new Redis();
    $redis->connect('127.0.0.1',6379);
    
    // 订阅频道 ( 可一次订阅一个或多个频道 )  频道名:one
    $channel = $redis->subscribe(array('one'),'callback');
    /*
     *  频道回调信息
     *  @param  object  $redisSocket  redis实例
     *  @param  string  $channel      频道名称
     *  @param  string  $message      收到的信息
     */
    function callback($redisSocket,$channel,$message){
        echo $message;
    }
    

    相关文章

      网友评论

        本文标题:Redis 发布订阅

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