适用于 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 仅适用于视频