群发消息如何实现用户未读条数?

天才小熊猫
  • 3
新手上路,请多包涵

问题:假设用户三万个人,每个群五百个人, 每个人所在3个群左右,每人每天在群里发送10条消息,如果用户不在线的情况,如何保存每个用户所在的群聊的未读消息数量,以便用户登录后查看未读数量

方案一:针对与每个用户通过redis对每个群聊标记数量,这样一个用户发消息,就需要给很多人进行标记

方案二:对每个用户离开群聊时间进行标记,用户登录后,用离开群聊时间和当前登录时间进行查询这个时间区间的消息数量

希望大佬给点设计思路,非常感谢!

回复
阅读 1.2k
1 个回答
✓ 已被采纳

都可以,怎么方便怎么来。
对于第一种,两三万人,平均每个人有10个群,也才30万条数据,存redis没啥大压力。
对于第二种,也需要进行标记的,需要标记时间,其实意思都差不多。

我感觉你的顾虑是怕需要很多内存来存,花很多钱,既然你要做这个功能,那么肯定是能赚钱的,不然做这个功能没啥意义。那么你就要算一下这个功能需要购买redis服务器的开销占比收益的多少了,不能光从技术角度思考,还要从经济角度思考。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏