gpt4 book ai didi

node.js - 没有从 Laravel 中的 Redis 发布功能获取消息

转载 作者:可可西里 更新时间:2023-11-01 11:23:06 26 4
gpt4 key购买 nike

我正在从 Laravel 发布消息,但没有进入 Node js 端。我正在使用 Laravel 5.8。

Laravel 代码:

namespace App\Http\Controllers;

use Redis;

class HomeController extends Controller {
public function test(){
$redis = Redis::connection();
$test = $redis->publish('message', json_encode(['foo' => 'bar']));

echo $test; // returned 0
exit;
}
}

NodeJs 代码:

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');

server.listen(3000);
io.on('connection',function(socket){
console.log('Starting...');
var redisClient = redis.createClient();
redisClient.subscribe('message');

redisClient.on('message', function(channel, data){
data = JSON.parse(data);
console.log(data);
io.emit('message', data);
});

socket.on('disconnect',function(){
redisClient.quit();
});
});

请帮帮我。提前致谢。

最佳答案

谢谢!因为我用的是redis.options.prefix。函数 subscribe() 回调 $channel 将替换前缀为 ''。

关于node.js - 没有从 Laravel 中的 Redis 发布功能获取消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57716965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com