有两种方案解决:
1, 及时加载策略:每群发一条消息自然会往消息表中插入一条数据,这时你可以同时往关联表中插入数据。 好样的,问题来了!如果系统用户几百万,你发一条站内信,就要往关联表中插几百万条数据,这是很耗性能的!!
2,延迟加载策略:每群发一条消息自然会往消息表中插入一条数据,不要及时插入到关联表。只当用户登录站内信时, 我才将消息表中的未读消息加载进来。
情况一:无需实时聊天这种情况可以采用简单粗暴的方法,数据库直接读写消息记录,已读/未读用一个状态码控制即可,稍微高级一点可以用Redis做消息推送,具体方法不作详细介绍,百度一搜一大把
情况二:实时聊天
沿用以上笨办法,web页面做一个定时器,每隔一段时间请求数据库;当然,Redis也可以轻松办到。如果不嫌麻烦可以采用workerman框架,socket通信专为在线聊天和直播流设计的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)