小编Leo*_*rdo的帖子

如何使用Node.js制作多线程应用程序并访问LevelDB?

LevelUP文档(https://github.com/rvagg/node-levelup#multi-process-access)中有以下内容:

LevelDB是线程安全的,但不适合通过多个进程进行访问。您只应该从单个Node.js进程中打开LevelDB数据库。Node.js集群由多个进程组成,因此LevelUP实例也无法在它们之间共享。

因此,我无法使用节点群集(http://nodejs.org/api/cluster.html)

是否有另一个选择可以使多进程(或多线程)Node.js应用程序访问LevelDB数据库?

multithreading multiprocessing node.js leveldb

5
推荐指数
1
解决办法
1117
查看次数

有没有办法更改leveldb中的键?

有一些如何仅更改leveldb数据库中键的值的方法吗?

我已经有一个拥有1800万行的数据库,并且我想更改键以添加前缀。

我正在将leveldb与node.js一起使用。但是任何解决方案都必须适合。

我已经尝试过重建该数据库,但是它花费了太多时间。

leveldb

3
推荐指数
1
解决办法
943
查看次数

如何在levelup(node.js)中使用管道?

LevelUP文档说明pipe()可以使用(https://github.com/rvagg/node-levelup/#pipes-and-node-stream-compatibility).

我试过以下代码:

db.createValueStream().pipe(response)
Run Code Online (Sandbox Code Playgroud)

但我不能这样做,我有一个错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
TypeError: Invalid non-string/buffer chunk
    at validChunk (_stream_writable.js:150:14)
    at Writable.write (_stream_writable.js:179:12)
    at write (_stream_readable.js:573:24)
    at flow (_stream_readable.js:582:7)
    at ReadStream.pipeOnReadable (_stream_readable.js:614:5)
    at ReadStream.EventEmitter.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:408:10)
    at emitReadable (_stream_readable.js:404:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at ReadStream.Readable.push (_stream_readable.js:127:10)
Run Code Online (Sandbox Code Playgroud)

实际问题是关于使用事件'data'()时的内存使用情况.然后我试着做一个流.转换和使用pipe()来做我需要的东西.事件发生器中的内存泄漏是一个问题:在Node.js中使用流时内存泄漏?

UPDATE

我试过@ paul-mougel没有成功.不调用错误事件的功能,并且它崩溃了.这是一段代码:

    var rs = db.createValueStream();

    request.on('close', function(){
        rs.destroy();
        response.end();
    });

    rs.on('end', function(){
        response.end();
    });
    rs.on('error', function(err){
        console.err('READ STREAM ERROR:',err.message);
        response.end();
        rs.destroy();
    }); …
Run Code Online (Sandbox Code Playgroud)

stream node.js leveldb

2
推荐指数
1
解决办法
1747
查看次数