需求:獲取redis指定的實例中所有的key的名字。
千萬不要使用keys *,可以使用scan命令的遞歸方式獲取。
以下給出自己寫的腳本,經過測試效果還可以。
db_ip=5.5.5.101 db_port=6379 password=abc123 cursor=0 cnt=100 new_cursor=0 redis-cli -h $db_ip -p $db_port -a $password scan $cursor count $cnt > scan_tmp_result new_cursor=`sed -n '1p' scan_tmp_result` sed -n '2,$p' scan_tmp_result >> scan_result while [ $cursor -ne $new_cursor ] do redis-cli -h $db_ip -p $db_port -a $password scan $new_cursor count $cnt > scan_tmp_result new_cursor=`sed -n '1p' scan_tmp_result` sed -n '2,$p' scan_tmp_result >> scan_result done rm -rf scan_tmp_result