我正在尝试编写一段代码,该代码从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