web 项目中 发布动态提醒实现

项目中需要用到 发布动态提醒实现功能,就是类似微信朋友圈提醒的小圆点。看似很简单实现起来东西挺多的。
比如用户A发布了一个动态,他的好友都会在动态提醒那里显示一个小圆点,或者显示有多少个动态未读去。
大致实现的流程如下图。


image.png

1.用户发布了动态。
2.web后端在 接口的拦截器中 生成消息发送到 rabbitmq 中
3.在rabbitmq 中处理此消息。查询此用户的 所有好友,以好友的id 和消息的类型 为key,消息的条数为value 缓存数据到redis中 (可以用 string的 incr )
4.其他用户直接查询 redis 中 自己id + 消息类型 为key 的 数据,就可以知道还有多少消息未读
5.当用户读取了消息后,删除此key 即可。

你可能感兴趣的:(web 项目中 发布动态提醒实现)