php中使用redis实现简单的订阅发布功能

1.创建pub.php (发布)

ini_set('default_socket_timeout', -1);
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth("xiuxiu.123xyz"); 
$strChannel = 'Test_bihu_channel';

//发布
$redis->publish($strChannel, "来自{$strChannel}频道的推送");
echo "---- {$strChannel} ---- 频道消息推送成功~\n";
$redis->close();

2.创建sub.php(订阅)

ini_set('default_socket_timeout', -1);
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth("xiuxiu.123xyz");
$strChannel = 'Test_bihu_channel';

//订阅
echo "---- 订阅{$strChannel}这个频道,等待消息推送...----  <\n";
$redis->subscribe([$strChannel], 'callBackFun');
function callBackFun($redis, $channel, $msg)
{
    print_r([
        'redis'   => $redis,
        'channel' => $channel,
        'msg'     => $msg
    ]);
}

这两个文件在cli里打开执行即可

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/helloworld_dream/article/details/88688662