最近因工作需求, 需從 Redis Server 找大量的資料出來 Debug 程式邏輯. 但每次手動從 UI 介面點開 -> 複製 -> 貼到 VSCode -> 存檔, 非常繁瑣, 且一次都要抓快十個不等的檔案, 非常費時。所以為了能節省我寶貴的時間, 決定用 NodeJS 直接寫一隻來接 Redis 抓資料. 原本要花十分鐘弄得東西, 幾秒鐘就搞定,心理 OS 只有一個字,爽!!!
安裝 node-redis 並連線
安裝
啟用連線
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import { createClient } from 'redis';
const client = createClient({ url: 'redis[s]://[[username][:password]@][host][:port][/db-number]' });
client.on('error', (err) => console.log('Redis Client Error', err));
async function connectRedis() { cosole.log(client.isReady); await client.connect(); cosole.log(client.isReady); }
connectRedis();
|
抓資料並存取
1 2 3 4 5 6 7 8 9 10
| import fs from 'fs'; ...
async function connectRedis() { await client.connect(); const Data = await client.GET(`key`); fs.writeFileSync(`Data.json`, Data); }
connectRedis();
|
這邊小加碼一下~如果想要把檔案儲存到指定的資料夾名稱, 可以用下列指令新增資料夾, 再把檔案儲存到指定的資料夾名稱.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| ...
async function connectRedis() { await client.connect();
const destination = 'C:\\XXX'; const folderName = 'folderName';
if (!fs.existsSync(`${destination}\\${folderName}`)) { fs.mkdirSync(`${destination}\\${folderName}`); }
const Data = await client.GET(`key`); fs.writeFileSync(`${destination}\\${folderName}\\Data.json`, Data); }
connectRedis();
|
Reference