适用于 Windows/Node 0.8 的 Node.js 键值存储

Posted

技术标签:

【中文标题】适用于 Windows/Node 0.8 的 Node.js 键值存储【英文标题】:Key-value store for Node.js that works under Windows/Node 0.8 【发布时间】:2013-04-03 17:36:41 【问题描述】:

我正在开发一个需要快速、嵌入式和持久键值存储(如 LevelDB)的项目,但开发环境仅限于 Windows 7 / Node 0.8。我的自然反应是尝试找到一个 LevelDB 绑定,但 LevelUP / my8bird 的 leveldb 在 Windows 下根本无法编译,而 LevelDOWN 仅适用于 Node.js > 0.10。

有什么想法吗?它没有必须是 LevelDB - 只要是任何嵌入式(无服务器)键值存储,具有持久性和合理的崩溃容错性,并且具有可以在该环境下工作的 Node.js 绑定。

【问题讨论】:

我不知道 Node 0.8 / Windows 7 的兼容性,但有这个:github.com/juliangruber/level-store 这个要看levelup,所以不兼容。 你可以试试github.com/felixge/node-dirty 【参考方案1】:

LMDB 在 Windows 上构建/运行良好。 http://symas.com/mdb/ 它也比 LevelDB 更小、更快、更可靠。

【讨论】:

【参考方案2】:

看来“sqlite3”模块是在windows上编译的,所以我在上面搭建了一个简单的key-value抽象层。

【讨论】:

【参考方案3】:

levelDB in Windows 似乎有一个端口。我不知道它是否与您的规范兼容。我的问题是为什么不能更新 node.js,因为 node v0.8 处于生命周期结束(EOL)。可能是纯 javascript 克隆,但性能可能会差一点:

https://github.com/mikesmullin/node-sqlite-purejs

也许不使用嵌入式数据库,而是使用 MongoDB 之类的东西?如果您问我,您的要求会使找到解决方案变得更加困难。

【讨论】:

levelDB 在 Windows 上工作,但没有任何 Node.js 绑定可以在 Windows 上编译。而且实际的应用程序不是服务器,所以 MongoDB 是不切实际的

以上是关于适用于 Windows/Node 0.8 的 Node.js 键值存储的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Cordova 的 Visual Studio 工具 - 适用于 iOS 的 RemoteBuild 失败

UIImagePickerController allowedEditing=YES 仅适用于视频

适用于 iOS 的 Facebook SDK 的权限

关于编译Android源码

git 团队开发常用操作(适用于 gogsgitlabgithub)

仅适用于某些域的代理