基于Redis的日志统计人数统计分析(用redis做日统计人数)

日志统计是传统日志分析中比较重要而且基本常用的步骤。根据各类编程项目,日志统计可以统计访问量,访客数量,回头访客,用户行为等各种指标,通过日志统计分析可以很好的发现系统中存在的问题,在后期优化中起到重要作用。本文我们以Redis作为统计日志的基础,通过日志的统计和分析来统计访问系统中的用户数量。

我们在每次用户访问系统的时候记录用户的id或者别的一些唯一标识,然后每次记录访问时间,然后存储到Redis中,这样每次用户访问系统就可以建立一条记录:

`Hash key – {项目ID}_{用户ID}`

`Hash value – {访问时间戳}`

接下来的统计就很方便了,只需要获取一个项目的所有hash key就可以得到相应项目的访问人数了。例如,要查询大于一小时的访问量,就可以执行以下的Redis命令:

keys *_projectid* | while read key; do
ts=$(redis-cli hget $key timestamp)
if [ $(( $(date +%s) - $ts)) -gt 3600 ]; then
found=$(( found + 1 ))
fi
done
echo "Total number of visitors in last one hour: $found"

以上代码片段基本上完成了以Redis为日志记录库,并统计一定时间周期内访问次数的基本功能。通过这种方式,我们可以按照一定的时间粒度统计不同项目的各种用户统计指标,对于将各种用户访问量和使用状态统计分析起到较大的作用。

基于Redis统计日志统计人数是一种非常有效的统计分析方法,只需要在系统中简单的几行代码就可以完成统计,而且速度非常快,可以在瞬间完成统计分析,可以大大提升统计的效率。


数据运维技术 » 基于Redis的日志统计人数统计分析(用redis做日统计人数)