场景

需求是查看某一个服务器上的redis的某命名空间(指定前缀开头)的所有键值对的

key和value的数据格式,但是这个服务器上没法连接外网,只能在redis服务端所在

目录下通过bat脚本获取所有的并输出到txt文件中复制出来查看。

当然也可以通过redis数据的导入导出来实现,但是对redis两个的版本以及过期时间等限制

比较多。

比如这里要获取sys_dict命名空间下,即所有以sys_dict:开头的键值对的值。

 

 

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

这里的服务器操作系统为Windows,找到redis的安装目录下,即redis-cli所在的目录下,新建bat文件

 

 

 

脚本的内容如下

@echo off
set keysfile=redis-cached-keys.txt
set valuesfile=redis-cached-values.txt
redis-cli -n 0 -a 123456 keys "sys_dict:*" > %keysfile%
FOR /F %%i in (%keysfile%) DO (redis-cli -n 0 -a 123456 get %%i >>%valuesfile% )
pause

注意这里的-n代表0号数据库,-a后面跟的是密码,然后keys后面的代表查询所有

sys_dict:开头的key并循环根据key去取值并追加到文件中。

双击bat文件

会在目录下生成两个文件,一个是存放所有的key

 

 

一个是存放所有的value

 

 

posted on 2021-05-23 14:08  霸道流氓  阅读(968)  评论(0编辑  收藏  举报