00 前言
RedisDump 是一个用于 Redis 数据导入 / 导出的工具,是基于 Ruby 实现,因此先安装 Ruby。而在Windows配置环境比较繁琐,在服务器云端配置较为方便,但是导出数据时非常的慢。因此,我们可以通过一个简单的脚本来实现Redis数据的导出。
01 导入库
首先需要将相应的库导入,其中的outputFs.js为导出文件的自定义库。
var redis = require('redis');
const { outputJson } = require("./outputFs");
02 定义变量
定义导出的数据变量
var json = [];
03 构造Promise函数
为了保证每个循环结束后再将数据赋值,所以我们需要构造Promise函数保证for循环全部执行完毕。因为本代码使用时不需要保存键,所以以下代码仅供参考,如果需要保存键和值,可以自行修改或者本文附属资源下载全部版本代码。
let por = new Promise((r, j) => {
var client = redis.createClient(xxxx, 'xxx.com');
client.auth("xxx"); // 如果没有设置密码 是不需要这一步的
client.keys("*", function (err, keys) {
if (err) return console.log(err);
var actions = [];
for (var i = 0, len = keys.length; i < len; i++) {
let action = ()=>{
return new Promise(resolve=>{
((key,ii)=>{
client.get(key,function(err,val){
val = JSON.parse(val);
json.push(val);
console.log(ii);
resolve();
})
})(keys[i],i)
})
}
actions.push(action())
}
Promise.all(actions).then(()=>{
r(json);
})
});
})
04 将数据传入输出函数
promise执行完成后,将数据传入文件写出函数,即可输出json格式数据。
.then((rr) => {
outputJson("all",json);
}
)
完整版本资源链接https://download.csdn.net/download/weixin_45860525/82223902