redis实战读后感(五)-构建支持程序

1.最新日志

建立一个个list,保存在list结构里面,并对长度进行修剪(守护进程定期修剪好像也可以)

recent:name:serverity            -       list

    message

redis实战读后感(五)-构建支持程序


2.常见日志

对当前时间进行分析,如果到下一个小时则备份之前的记录和起始时间。

common:name:serverity        -       zsort

    message :count

redis实战读后感(五)-构建支持程序

3.计数器和统计数据

可以在页面的中间件加入点击事件处理统计

redis实战读后感(五)-构建支持程序

为了清理各种计数器的旧数据,我们需要在使用计数器的同时,对被使用的计数器进行记录。需要方便遍历和更新取出,最好使用有序集合,名称由prec:name组成,分值都为0;这时redis会按照成员名进行排序。

redis实战读后感(五)-构建支持程序

收到点击事件,同时更新点击的hash值和用来记录的有序集合

redis实战读后感(五)-构建支持程序

取出hash里面的结果:

redis实战读后感(五)-构建支持程序

清理计数器:

难度在控制清理的频率上面,根据时间差计算出需要清理集合,当清理完成的时候,hash为空时候从有序集合删除记录。

redis实战读后感(五)-构建支持程序

redis实战读后感(五)-构建支持程序

4.使用Redis存储统计数据

redis实战读后感(五)-构建支持程序

使用有序集合的目的是为了使用zunionstore对两个有序集合快速更新,而无需使用WATCH去监视频繁使用的统计数据的键。

redis实战读后感(五)-构建支持程序

redis实战读后感(五)-构建支持程序

5.简化统计数据的记录和发现

实现一个能够进行计时并将计时结果存储起来的东西,让它将平均访问速度最慢的页面都记录到一个有序集合里面,并向我们报告哪些载入时间变长了。

redis实战读后感(五)-构建支持程序

redis实战读后感(五)-构建支持程序

6.查找ip所属城市以及国家

ip2cityid:city_id  -  zset 

    start_ip

cityid2city  -   hash

    cityid: cityinfo

根据分值找到对应cityid

redis实战读后感(五)-构建支持程序

7服务的发现和配置

如何将大部分配置信息转移到Redis里面,使得应用程序可以自己完成大部分配置工作。