项目是类似于学校相关的,可以理解为网课平台,现在想在发布通知的时候实现精确推送,而不是全部无差别通知全体(比如,系统维护通知、作业发布通知可以发送给全体;催作业发给具体的年级、班级,当然有需要的时候也可以发给全体)
该项目数据库拟采用Mysql存储无时限性的通知【有一个系统通知表,存放相关通知内容】,redis存储有时限性的通知【如系统维护等】
想问一下如何实现通知的精准推送
项目是类似于学校相关的,可以理解为网课平台,现在想在发布通知的时候实现精确推送,而不是全部无差别通知全体(比如,系统维护通知、作业发布通知可以发送给全体;催作业发给具体的年级、班级,当然有需要的时候也可以发给全体)
该项目数据库拟采用Mysql存储无时限性的通知【有一个系统通知表,存放相关通知内容】,redis存储有时限性的通知【如系统维护等】
想问一下如何实现通知的精准推送
1 回答760 阅读✓ 已解决
1 回答721 阅读
实现精确推送的关键在于你要有一个区分用户群体的机制。一般可以通过在数据库里给每个用户添加对应应的标签或属性来实现,比如如年级、班级、角色(学生、教师、管理员等)。
用户分类:在用户表里,给每个用户添加对应的标签或属性,比如如年级、班级、角色等。
通知分类:在通知表例,给每个通知添加对应的标签或属性,表示这个通知应该发送给哪些用户。比如,你可以加一个字段表示这个通知应该发送给哪个年级的学生。
推送通知:在你要发送通知时候,首先根据通知的标签或属性查出应该接收这个通知的用户,然后把通知发送给这些用户。
主要是这几个点吧,你可用消息队列来异步的的发消息