Redis中通过bat获取指定前缀开头的所有键值对并输出保存到文件中

发布时间 2023-04-11 20:04:14作者: *(00)*

原文:https://blog.51cto.com/BADAOLIUMANGQZ/6058728

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

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

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

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

比较多。

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

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

 

脚本的内容如下

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

 

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

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

双击bat文件

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

一个是存放所有的value

-----------------------------------
©著作权归作者所有:来自51CTO博客作者霸道流氓的原创作品,请联系作者获取转载授权,否则将追究法律责任
Redis中通过bat获取指定前缀开头的所有键值对并输出保存到文件中
https://blog.51cto.com/BADAOLIUMANGQZ/6058728