关于redis的pub/sub的问题(php)

nothingness 发布于 2014/07/11 10:46
阅读 3K+
收藏 0

PHP系统消息实时推送,使用redis pub/sub

发送pub.php

$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$channel ='msg1';
$msg = 'message';
$redis->publish($channel, $msg);



接收sub.php


$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$channel = 'msg1'; // channel
$redis->subscribe($channel, 'callback');
function callback($redis, $channel, $message) {
echo $message;
}



在终端中运行正常,但在浏览器中浏览sub.php会出现死循环,并报错,将callback函数修改为


function callback($redis, $channel, $message) {
echo $message;
exit();
}



可以运行,但是不能实时显示,需要刷新sub.php后,执行pub.php,才能显示出来,每一次都要这样,在程序中需要使用ajax轮询来调用sub.php,来达到实时显示消息,网上关于php redis pub/sub的例子很少,有高手做过吗?


加载中
0
len
len
Redis队列用阻塞模式
川水静流
川水静流
那我总么在实际项目中使用到这个sub/pub呐?这个东西存在的意义又是什么,总不能在黑窗口中运行吧
返回顶部
顶部