5分钟内重复上线,发警告


题目:1分钟内用户上线的数目是60万,如果用户在5分钟内重复上线,就给他发警告,问如何设计?

第一种 数据库加最近登录时间和最后登出时间

常规设计,数据库记录额外的信息,然后交给业务层去处理。

第二种 设计数据结构

一个循环数组 长度为5,每个元素为hashmap。
当用户ID上线时,从循环数组中遍历5次 O(5)的代价,得到击中的次数N。
如果N>0,则为重复登陆;否则,插入当前的分钟对应的卡槽中。
循环数组记录当前使用的index,如果index++,则自动淘汰了5分钟过期的ID。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值