1.最新日志
建立一个个list,保存在list结构里面,并对长度进行修剪(守护进程定期修剪好像也可以)
recent:name:serverity - list
message
2.常见日志
对当前时间进行分析,如果到下一个小时则备份之前的记录和起始时间。
common:name:serverity - zsort
message :count
3.计数器和统计数据
可以在页面的中间件加入点击事件处理统计
为了清理各种计数器的旧数据,我们需要在使用计数器的同时,对被使用的计数器进行记录。需要方便遍历和更新取出,最好使用有序集合,名称由prec:name组成,分值都为0;这时redis会按照成员名进行排序。
收到点击事件,同时更新点击的hash值和用来记录的有序集合
取出hash里面的结果:
清理计数器:
难度在控制清理的频率上面,根据时间差计算出需要清理集合,当清理完成的时候,hash为空时候从有序集合删除记录。
4.使用Redis存储统计数据
使用有序集合的目的是为了使用zunionstore对两个有序集合快速更新,而无需使用WATCH去监视频繁使用的统计数据的键。
5.简化统计数据的记录和发现
实现一个能够进行计时并将计时结果存储起来的东西,让它将平均访问速度最慢的页面都记录到一个有序集合里面,并向我们报告哪些载入时间变长了。
6.查找ip所属城市以及国家
ip2cityid:city_id - zset
start_ip
cityid2city - hash
cityid: cityinfo
根据分值找到对应cityid
7服务的发现和配置
如何将大部分配置信息转移到Redis里面,使得应用程序可以自己完成大部分配置工作。