【php-redis】pub/sub公开和订阅

网上大多的写法大多直接在终端里的写法,没有一个完整的浏览器直观的例子,直接上代码:

创新互联建站专注于融水网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供融水营销型网站建设,融水网站制作、融水网页设计、融水网站官网定制、小程序定制开发服务,打造融水网络公司原创品牌,更为您提供融水网站排名全网营销落地服务。

订阅

ini_set('default_socket_timeout', -1);
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth('lizongying');
$channel = 'msg';
$redis->subscribe(array($channel), 'callback');

function callback($redis, $channel, $message)
{
    if (ob_get_level() == 0) {
        ob_start();
    }
    echo str_pad(' ', 1024 * 8);
    echo date('Y-m-d H:i:s');
    var_dump($message);
    flush();
    ob_flush();
    ob_end_flush();
}

公开

$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$redis->auth('lizongying');
$channel = 'msg';  // channel
$msg = '33'; // msg
$redis->publish($channel, $msg);
echo date('Y-m-d H:i:s');
var_dump($channel.$msg);

几个点:

1 在命名空间内

new \Redis();

2 如果有密码

$redis->auth('lizongying');

3 保证socket不超时

ini_set('default_socket_timeout', -1);

4 及时刷新 测试用的chrome buffer长度加到了1024*8才起作用 一些教程里是1024 或者 4096

    if (ob_get_level() == 0) {
        ob_start();
    }
    echo str_pad(' ', 1024 * 8);
    echo date('Y-m-d H:i:s');
    var_dump($message);
    flush();
    ob_flush();
    ob_end_flush();

保健食品注册咨询专家


新闻名称:【php-redis】pub/sub公开和订阅
分享网址:http://bzwzjz.com/article/joghcp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 重庆电商网站建设 重庆网站制作 网站建设方案 网站制作 成都品牌网站建设 做网站设计 手机网站制作 定制网站设计 手机网站建设 网站建设改版 定制网站制作 网站设计 成都网站建设 重庆网站建设 专业网站设计 成都网站设计 营销型网站建设 手机网站设计 网站建设 响应式网站设计方案 外贸网站建设 盐亭网站设计