場景
需求是查看某一個服務器上的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