一个导出redis有序集合sorted-sets的shell脚本
2015-12-14 14:50
966 查看
通过keys匹配需要导出的有序集合名称,这些集合命名格式为:*_010_09/Dec/2015
依次通过zscan导出有序集合中的数据,并分别保存
#/bin/sh
zset_pattern=”*_010_09/Dec/2015″
keys=`redis-cli keys $zset_pattern`
for k in $keys;do
_date=`echo “$k”|awk -F”_” ‘{print $3}’|awk -F”/” ‘{print $3″_”$2″_”$1}’`
out=`echo “$k”|awk -F”_” ‘{print $1″_”$2}’`”_$_date.txt”
cursor=0
batches=0
while [ 1==1 ];do
reply=`redis-cli zscan $k $cursor`
cursor=`echo “$reply” | head -n 1`
pairs=`echo “$reply”|tail -n +2`
[ $cursor -eq 0 ] && [ $batches -gt 0 ] && break
batches=`expr $batches + 1`
skip_key=0
echo “$pairs”|while read ms
do
#skip empty members
[ “$ms” == “” ] && skip_key=1 && continue
[ $skip_key -eq 1 ] && skip_key=0 && continue
if [ “$m” == “” ];then
m=$ms && continue
fi
if [ “$s” == “” ];then
s=$ms
echo “$m $s” >> $out
m=”” && s=””
fi
done
done
done
零一积流|IT参考 原创文章,转载请注明出处: http://www.it-refer.com/2015/12/14/a-shell-script-to-export-data-of-sorted-sets-from-redis
依次通过zscan导出有序集合中的数据,并分别保存
#/bin/sh
zset_pattern=”*_010_09/Dec/2015″
keys=`redis-cli keys $zset_pattern`
for k in $keys;do
_date=`echo “$k”|awk -F”_” ‘{print $3}’|awk -F”/” ‘{print $3″_”$2″_”$1}’`
out=`echo “$k”|awk -F”_” ‘{print $1″_”$2}’`”_$_date.txt”
cursor=0
batches=0
while [ 1==1 ];do
reply=`redis-cli zscan $k $cursor`
cursor=`echo “$reply” | head -n 1`
pairs=`echo “$reply”|tail -n +2`
[ $cursor -eq 0 ] && [ $batches -gt 0 ] && break
batches=`expr $batches + 1`
skip_key=0
echo “$pairs”|while read ms
do
#skip empty members
[ “$ms” == “” ] && skip_key=1 && continue
[ $skip_key -eq 1 ] && skip_key=0 && continue
if [ “$m” == “” ];then
m=$ms && continue
fi
if [ “$s” == “” ];then
s=$ms
echo “$m $s” >> $out
m=”” && s=””
fi
done
done
done
零一积流|IT参考 原创文章,转载请注明出处: http://www.it-refer.com/2015/12/14/a-shell-script-to-export-data-of-sorted-sets-from-redis
相关文章推荐
- Redis认识
- redis-3.0.5安装
- redis 连接池类
- Redis的hash数据类型及其应用场景解析---购物车
- redis存储list工具类
- Redis快速入门
- 单线程你别阻塞,Redis时延问题分析及应对
- 案例:Redis在京东的使用技术模型图
- python 连接 redis
- Building Redis for use on Cygwin(转)
- Windows Cygwin Redis 安装(转)
- redis-安装
- redis学习笔记---redis特性(expire、事务、数据排序、config命令)
- redis学习笔记---redis的持久化(RDB和AOF方式)
- redis学习笔记---java操作redis,使用expire模拟指定时间段内限制ip访问的次数;
- redis学习笔记
- 脚本启动redis
- nginx+php+redis vs nginx+lua+redis
- Redis的订阅发布机制
- redis 消息队列