批量取redis key/value和批量删除key

需求:取出所有前缀为g.at.ga.的string类型的key及其value
实现:
1. 取出key
redis-cli -p 26379 -a 123456 -n 0 keys g.at.ga.* > a.txt
2. 拼出取value的命令
sed 's/^/get &/g' a.txt > b.txt
3. 取value
cat b.txt | redis-cli -p 26379 -a 123456 -n 0 --pipe > c.txt
4. 将key、value 拼成一个文件
paste a.txt c.txt > d.txt

需求2:批量删除key(要删除的key已经导出到一个文件中)
实现:
1. key文件改名
mv vsp_article_watch_add_score.log vsp_article_watch_add_score.log.1
2. 拼接删除key的命令
sed 's/^/unlink &/g' vsp_article_watch_add_score.log.1 > vsp_article_watch_add_score.log
3. 执行批量删除
cat vsp_article_watch_add_score.log | redis-cli -p 26379 -a 123456 -n 0 --pipe

需求3:一键批量删除指定key

/home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.36 -p 26379 -a 123456 -n 1 keys "g.at.ga.*" | xargs /home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.36 -p 26379 -a 123456 -n 1 unlink

需求4:批量修改特征key的过期时间为一个1-3600秒之间的随机数

实现:

# 方法1,用循环逐行拼命令,很慢
rm -f c.txt

/home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.36 -p 26379 -a 123456 -n 1 keys room_onmic_photo:* > a.txt

cat a.txt|while read line
do
    r=`expr $RANDOM % 3600`
    echo "expire ${line} $r" >> c.txt 
done

cat c.txt | /home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.36 -p 26379 -a 123456 -n 1 --pipe


# 方法2,用awk拼命令,很快。通过管道一句执行,不需要临时文件。
/home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.36 -p 26379 -a 123456 -n 1 keys room_onmic_photo:* | awk -v seed=$RANDOM 'BEGIN{srand(seed);} {print "expire "$0" " int(rand()*10000%3600+1) }' | /home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.36 -p 26379 -a 123456 -n 1 --pipe

需求5:查询每个客户端IP的连接数

/home/redis/redis-5.0.3/src/redis-cli -h 192.168.1.1 -p 20003 -a 123456 client list | awk '{print $2}' | awk -F= '{print $2}' | awk -F: '{print $1}' | sort -n | awk '{s[$1] += 1}END{ for(i in s){print i, s[i] } }' | sort -nrk2

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值