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

Laravel 5 Broadcast Event to WildCard Channel using Node and Laravel-Echo-Server

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

当患者执行操作 A 时,我希望向医生列表广播,不是所有医生,而是他们的列表..

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

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

但是,对于生产,我不能硬编码那个 ID,我需要的是像下面这样的东西

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

但是通配符好像不行...

关于如何订阅通配符有什么想法吗?

Redis.io, PubSub Documentation

Wikipedia, Glob Programming

The Redis Pub/Sub implementation supports pattern matching. Clients may subscribe to glob-style patterns in order to receive all the messages sent to channel names matching a given pattern.

For instance:

PSUBSCRIBE news.*

因此您的代码段可以更改为

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

因此它会收到 ID 为 Doctor.1 或更深的任何医生

Doctors.<groupId>.<DoctorId>等等。