使用Node和Laravel-Echo-Server向WildCard频道播放Laravel 5广播事件

问题描述 投票:0回答:1

我有两个角色,医生和病人......

当患者采取行动A时,我希望广播出现在医生列表中,而不是所有医生列表,但是列出了这些医生。

在我的测试中,我能够通过在节点中使用redis订阅前缀为Doctor和连字符然后UserID来完成此操作...

redis.subscribe('Doctor-1', function(err, count) {
});

但是,对于生产,我不能硬编码该ID,我需要的是如下所示

redis.subscribe('Doctor-*', function(err, count) {
});

但通配符似乎不起作用......

关于如何订阅通配符的任何想法?

node.js laravel redis node-redis
1个回答
2
投票

Redis.io, PubSub Documentation

Wikipedia, Glob Programming

Redis Pub / Sub实现支持模式匹配。客户端可以订阅glob样式模式,以便接收发送到与给定模式匹配的通道名称的所有消息。

例如:

PSUBSCRIBE news.*

所以你的代码片段可以改为

redis.subscribe('Doctor.*', function(err, count) {});

所以它会收到ID为Doctor.1或更深入的医生

Doctors.<groupId>.<DoctorId>等。

© www.soinside.com 2019 - 2024. All rights reserved.