跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • phpRedis 扩展的 subscribe 订阅疑惑
未分類
5 2 月 2021

phpRedis 扩展的 subscribe 订阅疑惑

phpRedis 扩展的 subscribe 订阅疑惑

資深大佬 : xxbutoo 3

按照文档上的 demo https://github.com/phpredis/phpredis#connect-open

function f($redis, $chan, $msg) {  switch($chan) {   case 'chan-1':    ...    break;    case 'chan-2':    ...    break;    case 'chan-2':    ...    break;  } } 

$redis->subscribe([‘chan-1’, ‘chan-2’, ‘chan-3’], ‘f’); // subscribe to 3 chans“`

我的 demo 如下:

$r = new Redis(); $r->pconnect('127.0.0.1', '6379'); $r->auth('test123456');  $r->subscribe(['chan-1', 'chan-2', 'chan-3'], function() {  switch($chan) {   case 'chan-1':    file_put_contents('./tt.txt', '订阅消息 1' . $msg . "n", FILE_APPEND);    break;   case 'chan-2':    file_put_contents('./tt.txt', '订阅消息 2' . $msg . "n", FILE_APPEND);    break;   case 'chan-2':     file_put_contents('./tt.txt', '订阅消息 3' . $msg . "n", FILE_APPEND);    break;  } });  

但是发布以后 就一直没有返回值了。等了一会后就会抛出 read error on connection 异常

查了资料 subscribe 是阻塞模式 不会有返回值

于是我设置了

 ini_set('default_socket_timeout', -1); 
$r->setOption($r::OPT_READ_TIMEOUT, -1); 

执行后返回 502 了 脑瓜疼 cgi 和 nginx 又断开连接了。。

大佬有話說 (3)

  • 資深大佬 : emeab

    请用 php CLI

  • 資深大佬 : gbqqaybc

    @Livid 重复发帖 https://www.v2ex.com/t/753734

  • 主 資深大佬 : xxbutoo

    @gbqqaybc 哈哈你这个。。。- -哦哦哦哦

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具