使用shell脚本遍历redis数据库中的所有kv对
记录下如何使用shell通过redis-cli 命令来操作redis数据库,因为直接在命令行中输入
redis-cli command
的话command必须是单个单词,不能像是KEYS *
这种.
1 2 3 4 5 6 7 8 9 10 11 12
| #!/bin/bash filename='redis'`date +%Y-%m-%d_%H:%M` work_path=$(dirname "$0") echo "实例化redis数据文件为:$work_path/$filename" echo "keys *" | redis-cli > key_db.txt echo "将所有key保存到:$work_path/key_db.txt" for line in `cat key_db.txt` do echo "key:$line " >>$work_path/$filename.txt echo "key-value:" >>$work_path/$filename.txt echo "hgetall $line" | redis-cli >>$work_path/$filename.txt done
|
使用echo 来把命令输出到管道然后再传递给redis-cli。在循环里面也是使用echo来把字符串输入到文件中。