我想知道用户登录服务的历史记录。 我只是想查看用户每天、每周和每月的登录频率。
目前,用户ID和连接时间存储在DB表中。
行太长,不必要。
如果还有其他好的方法,请引用。
感谢您的关注。
最佳答案
假设语言的解决方案:
您必须为每个用户保留两个数据项:
TimeStamp firstLoginOf(user_id) : returns time stamp of first login for given user
Integer totalLoginsOf(user_id) : returns total number of logins for given user
数据必须存储在由 user_id 索引的文件或数据库中。 每当相应的用户登录时,登录总数就会增加。
然后您可以按如下方式计算所需的数据:
Float loginsPerDay(user_id) {
return totalLoginsOf(user_id) / asDays( now() - firstLoginOf(user_id) )
}
Float loginsPerWeek(user_id) {
return totalLoginsOf(user_id) / asWeeks( now() - firstLoginOf(user_id) )
}
Float loginsPerMonth(user_id) {
return totalLoginsOf(user_id) / asMonths( now() - firstLoginOf(user_id) )
}
关于algorithm - 管理每个用户的访问日志的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57368690/