我正在尝试编写一段代码,该代码从MongoDB中提取数据,并根据原始缓冲区将其转储到Redis中。

但是,我不是使用JSON文档,而是使用MongoDB流获取原始buffer。由于就Redis中的键数而言,将每个缓冲区分别转储到Redis中将是一项昂贵的任务,因此我计划通过将多个原始缓冲区存储到同一键中来减少这种情况。这实质上意味着我正在尝试存储buffer对象的数组。因此,通过这样做,我创建了一个看起来像

[<Buffer 61 62 63 64 .. >, <Buffer 61 62 63 65 ..>, <Buffer 61 62 63 64...> ...]

其中每个文档均由buffer对象表示。

由于这是一个数组,因此我想将其转换为可以直接放入Redis键的单个缓冲区。我尝试的一种方法是使用concat方法在两者之间合并缓冲区和分隔符。但是,这可能不是最佳方法,因为它可能导致冲突。

因此,我需要一种将该缓冲区数组转换为单个缓冲区的方法,并且还需要一种将它们取回的方法。

寻找方法-


MergeArrayBuffer([<Buffer>, <Buffer> ..]) => <Buffer>
MergedBufferToArray(<Buffer>) => [<Buffer>, <Buffer> ..]

最佳答案

Rod Vagg为此编写了一个不错的用户登陆模块,请参见https://github.com/rvagg/bl

10-07 19:58
查看更多