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一起用
评论