当前位置:   article > 正文

shell脚本redis操作--遍历key保存value_shell脚本redis查询key的value

shell脚本redis查询key的value

shell脚本redis操作–遍历key保存value

shell脚本redis操作

脚本分2部,redis查询出所需要的key,然后遍历key查询出所有的value追加到文件中;
(**想法:**本来是要循环遍历满足条件key的结果集的,但是失败了,所有就直接保存到文件中,读取文件每一行的结果,用这个结果查询value保存到新文件中;
**进一步优化:**因为key的type不同的原因,所有其实可以选用 type $key,来判断key的类型,从而选用不同命令查询value)

知识点

查询redis结果保存文件
echo "keys ‘’" | redis-cli -h ‘127.0.0.1’ -p 6379 -a ‘password’ > /tmp/allkeys.txt
keys '
’ 是redis语句

shell
shell脚本变量或者字符串连接直接写在一起

shell文件读取:
for line in cat file(待读取的文件)
do
echo $line
done

文件追加用: >>
文件覆盖用: >

整个脚本如下:

  1 #!/bin/bash
  2 filename='redis'`date +%Y-%m-%d`
  3 echo '实例化redis数据文件为:/tmp/'$filename
  4 echo "keys '*'" | redis-cli -h '127.0.0.1' -p 6379 -a 'password' > /tmp/al    lkeys.txt
  5 echo "将所有的key保存到/tmp/$filename.txt文件中"
  6 for line in `cat /tmp/allkeys.txt`
  7 do
  8         echo "key: "$line >>/tmp/$filename.txt
  9         echo "key-value:" >>/tmp/$filename.txt
 10         echo "get $line" | redis-cli -h '127.0.0.1' -p 6379 -a 'password'     >>/tmp/$filename.txt
 11 done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

解释一下:
2行:定义保存文件名
4行:保存需要的key结果到文件
6行:循环读取满足条件的key文件,按行读取
8行:在文件中同时写入key,
10行:写入key的value到文件中
亲测可用:

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/735649
推荐阅读
相关标签
  

闽ICP备14008679号