如何使用 Node.js 制作多线程应用程序,访问 LevelDB?
Posted
技术标签:
【中文标题】如何使用 Node.js 制作多线程应用程序,访问 LevelDB?【英文标题】:How to make a multi-thread application with Node.js, accessing a LevelDB? 【发布时间】:2014-01-28 14:52:24 【问题描述】: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 数据库吗?
【问题讨论】:
你试过multilevel
吗?
【参考方案1】:
我会说level-party 就是您要找的东西。当然,每个子线程都有多个 leveldb,我不确定是否知道答案。
【讨论】:
level-party 完美无缺【参考方案2】:我认为您唯一可行的选择是选择一个进程来拥有 leveldb 访问权限并执行所有操作并通过网络与该进程通信。或者您可以像我们其他人一样使用传统的数据库服务器,该服务器可以被多个客户端进程同时访问。
【讨论】:
以上是关于如何使用 Node.js 制作多线程应用程序,访问 LevelDB?的主要内容,如果未能解决你的问题,请参考以下文章