高并发系统学习 Day13 系统通知的未读数设计

66 阅读1分钟
系统通知的未读数要如何设计:
    系统通知实际上是存储在一个大的列表中的,这个列表对所有用户共享,也就是所有人看到的都是同一份
    系统通知的数据。不过不同的人最近看到的消息不同,所以每个人会有不同的未读数。因此,你可以记录
    一下在这个列表中每个人看过最后一条消息的 ID,然后统计这个 ID 之后有多少条消息,这就是未读数了。
    这个方案在实现时有这样几个关键点:
    用户访问系统通知页面需要设置未读数为 0,我们需要将用户最近看过的通知 ID 设置为最新的一条系统通知 ID;
    如果最近看过的通知 ID 为空,则认为是一个新的用户,返回未读数为 0;
    对于非活跃用户,比如最近一个月都没有登录和使用过系统的用户,可以把用户最近看过的通知 ID 清空,节省内存空间。
    
    这是一种比较通用的方案,既节省内存,又能尽量减少获取未读数的延迟

此文章为6月Day13学习笔记,内容来源于极客时间《高并发系统设计 40 问》