zhmg23

我们是如此的不同

redis批量统计数据

上周有个关于redis里的数据统计,需要按天、小时、分钟来进行不同的统计,这样统计出来的结果比较多,如果手动单条来跑,耗时较多,所以想通过脚本来完成。在此记录下,后面不确定是否还会用到。

㈠按天统计,统计15号、16号的数据:

#!/bin/bash

for i in `seq -f '%02g' 15 16`;

do

touch $i.txt;

redis-cli -p 7000 -n 9 keys limitlib_Tool_all_all_*_201704$i |xargs -i redis-cli -p 9000 -n 9 get {} > $i.txt

done


㈡ 按小时统计,统计一天中每小时的量

#!/bin/bash

for i in `seq -f '%02g' 1 24`;

do

touch $i.txt;

redis-cli -p 7000 -n 9 keys limitlib_Tool_all_all_*_20170415$i |xargs -i redis-cli -p 9000 -n 9 get {} > $i.txt

done


㈢ 按分钟统计,统计一天中每分钟的数据

#!/bin/bash

for i in `seq -f '%04g' 0101 2424`;

do

touch $i.txt;

redis-cli -p 7000 -n 9 keys limitlib_Tool_all_all_*_20170415$i |xargs -i redis-cli -p 9000 -n 9 get {} > $i.txt

done


注意:

seq -f '%02g' 1 12

% 后面指定数字的位数 默认是"%g", 

"%3g"那么数字位数不足部分是空格 

-w 指定输出数字同宽   不能和-f一起用 

评论