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

时间:2017-12-27 19:01:16

标签: node.js laravel redis node-redis

我有两个角色,医生和患者...

当患者采取行动A时,我希望播放一个医生名单,而不是所有医生,但列出他们的名单。

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

来完成此操作。
redis.subscribe('Doctor-1', function(err, count) {
});

然而,对于制作,我无法对该ID进行硬编码,我需要的是以下内容

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

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

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

1 个答案:

答案 0 :(得分: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>等等。