获取redis指定实例中所有的key

Posted knowledge-is-power

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取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

 

以上是关于获取redis指定实例中所有的key的主要内容,如果未能解决你的问题,请参考以下文章

Redis的基本命令

有没有人遇到过 redis keys 无法显示所有的key值

对于redis的批量删除指定key,有没有好的方法

如何获取redis中String类型的全部key值

Redis 字符串(String)

Redis 字符串(String)