我有40个类别,每个类别有10-100个子类别.默认情况下,用户侦听所有类别和子类别.我想给每个用户选择从整个类别或特定子类别取消绑定的能力.所以,现在我拥有的每个类别都是一个频道,每个子类别都是一个事件.
现在,我有类似每个用户绑定2000-3000事件的东西,我知道这是错误的,那么让用户在3000个事件之间进行过滤的正确方法是什么?绑定到那么多事件是否可以?
重要的是要记住,当您订阅频道时,该频道的所有事件都将发送到客户端(Pusher - 客户端),即使您尚未绑定到该事件。
考虑到上述信息,我建议使用通道来过滤数据。订阅频道时的开销并不大。例如,订阅 40 个频道不会代表任何显着的资源使用。您需要考虑频道是公开的(任何人都可以订阅)还是私有的,其中每次调用pusher.subscribe( 'private-channel-x' );都会导致对您的服务器的身份验证请求。有一个多身份验证插件,允许批量身份验证请求发生。
一种解决方案是让每个用户订阅他们自己的通知频道,并在该单个频道上向他们发送他们感兴趣的事件的事件。为此,您可以使用多发布功能,这使您可以在多个频道上发送相同的事件。如果您希望将同一事件发送给多个用户,这可能很有用。然而,从信息架构的角度来看,这个解决方案可能并不那么优雅。
这里的最佳解决方案实际上取决于您的应用程序。但是有了上述内容,您现在拥有了所有事实,可以让您做出最有效的选择。
| 归档时间: |
|
| 查看次数: |
2701 次 |
| 最近记录: |