【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://scyanting.com/article/joghcp.html