Node.js 将redis数据复制到sql server的最快方法

Node.js 将redis数据复制到sql server的最快方法,node.js,sql-server,redis,Node.js,Sql Server,Redis,我有一个超过10万行的redis,我想将所有数据复制到sql server db,目前我编写了一个nodejs脚本来传输数据,如下所示 redis.scancursor,匹配,*.*,计数,100,函数错误,恢复{ var-keys=res[1]; 游标=res[0]; keys.forEachfunction id{ redis.hgetallid,函数错误,项{ 设splited=Object.KeyItems[0]。拆分; 让数据={ customerId:已拆分[0], orderId:

我有一个超过10万行的redis,我想将所有数据复制到sql server db,目前我编写了一个nodejs脚本来传输数据,如下所示

redis.scancursor,匹配,*.*,计数,100,函数错误,恢复{ var-keys=res[1]; 游标=res[0]; keys.forEachfunction id{ redis.hgetallid,函数错误,项{ 设splited=Object.KeyItems[0]。拆分; 让数据={ customerId:已拆分[0], orderId:已拆分[1], }; sql.connectconfig.thenpool=>{ pool.request.query `插入[dbo].[Bi] [客户ID] ,[OrderId] ,[AddressId] 选择 ${data.customerId} ,${data.orderId} ,[dbo].[Address].Id 来自[dbo].[Address],其中CustomerId=${data.CustomerId}` } } } } 但是需要1天的时间才能完成,那么我应该如何优化脚本,或者是否有其他方法来传输数据?

Redis模块有一个名为rgsync的方法。使用此模块,您可以确保对Redis的每次更新都同步回您的SQLServer


请参见此处的示例:

这是否回答了您的问题?是一次性的还是定期同步到MySQL?@GuyKorland我想定期运行,可能每3次days@Charliefacetnx,但不是,因为我在查询中从另一个表中获取Address.Id创建一个本地临时表,在其中进行大容量插入,添加一个像CustomerId一样的索引,OrderId会很好地工作,然后执行一个。连接关闭时,临时表将被删除