我正在为我的应用程序使用PHP Redis库。该代码的目的是添加一个侦听器以检测Redis中发生的任何更改。为此,我正在使用redis的PUB / SUB功能。
这是路由器文件中的代码。
路由器文件
Route::get('redis', function () {
\Redis::publish('redisChat', 'Some message ...');
\Redis::subscribe(['redisChat'],function($redis, $channel, $msg) {
echo $channel . ' : ' . $msg;
return array('result' => $msg);
});
});
现在调用此路由,需要花费大量时间进行响应,之后它会向我显示错误"Error while reading line from the server. [tcp://127.0.0.1:6379]"
我也尝试了下面提到的方法,
路由器文件
Route::get('redis', function () {
\Redis::publish('redisChat', 'Some message ...');
function f ($redis, $channel, $msg) {
echo $channel . ' : ' . $msg;
return array('result' => $msg);
};
\Redis::subscribe(['redisChat'] , 'f' );
});
但是现在出现此错误
Type error: Argument 2 passed to Illuminate\\Redis\\Connections\\Connection::subscribe() must be an instance of Closure, string given, called in /home/maintainyourwebs/public_html/staging/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php on line 130
在这方面的任何帮助将不胜感激。