1. 程式人生 > >獲取redis指定例項中所有的key

獲取redis指定例項中所有的key

需求:獲取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