2018-02-11-使用redis做相关统计

按照日期统计次数,不关心次数高低

问题描述:
需要统计事件a、b、c每个小时、每天、每月的发生次数

使用redis hash结构即可满足此需求

key设计举例:

key field value 说明
a 2018-02-11-08 10 事件a在2018-02-11早上8点一个小时内发生的次数
a 2018-02-11-09 11
b 2018-02-11-08 10
b 2018-02-11-09 11
a 2018-02-11 21 事件a在2018-02-11这一天发生的次数
a 2018-02 100 事件a在2018-02这一个月发生的次数

按照日期统计,需要按照次数进行排行

问题描述:
需要统计每天、每个月完成手工品a、b、c最多的人
使用redis的zset结构即可满足此需求

redis设计举例:

key member score 说明
a:2018-02-11 zhang 10 zhang在2018-02-11的早上8点这一个小时完成手工品a的数量
a:2018-02-11 li 20 li在2018-02-11的早上8点这一个小时完成手工品a的数量
b:2018-02-11 zhang 30 zhang在2018-02-11的早上8点这一个小时完成手工品b的数量
b:2018-02-11 li 10 li在2018-02-11的早上8点这一个小时完成手工品b的数量

那么 在2018-02-11这一天完成a产品最多的人排行榜为:
li:20
zhang:10

b产品排行为:
zhang:30
li:20