Articles of leveldb

使用search索引进行过滤

我想实现* .epub-Files的全文search。 所以我分出了epub-full-text-search模块( https://github.com/friedolinfoerder/epub-full-text-search )。 我会有很多电子书进行search,所以我想有一种方法,只能在一个特定的电子书search一次。 我怎么能用search-index来做到这一点。 我编写了一个解决scheme,允许在字段中search文件名 (epub的唯一文件名)和正文 (章节的内容),但是这并不认为这是正确的方式来做到这一点,性能也不理想。 以下是我如何使用search-index进行search的一个示例: searchIndex.search({ query: [{ AND: [ {body: ['epub']}, {filename: ['accessible_epub_3']} ] }] }); 有一个更好的方法吗。 也许有桶,类别和filter? 谢谢你的帮助!

在Windows / Node 0.8下工作的Node.js的键值存储

我正在开发一个需要快速,embedded式和持久性键值存储(如LevelDB)的项目,但开发环境仅限于Windows 7 / Node 0.8。 我的自然反应是尝试find一个LevelDB绑定,但是LevelUP / my8bird的leveldb根本不能在Windows下编译,LevelDOWN只能用于Node.js> 0.10。 有任何想法吗? 它不必是LevelDB,只要是具有持久性和合理的崩溃容忍度的embedded式(无服务器)键值存储,就可以在该环境下使用Node.js绑定。

如何使用Node.js创buildmultithreading应用程序,访问LevelDB?

在LevelUP文档中有这个( https://github.com/rvagg/node-levelup#multi-process-access ): LevelDB是线程安全的,但不适合用多进程访问。 您应该只能从单个Node.js进程打开一个LevelDB数据库。 Node.js集群由多个进程组成,因此LevelUP实例不能在它们之间共享。 所以我不能使用Node Cluster( http://nodejs.org/api/cluster.html ) 是否有另一个选项可以使多进程(或multithreading)Node.js应用程序访问LevelDB数据库?

Node.js最快,非基于内存的多进程键值存储

什么是支持多进程的Node.js最快的非内存键值存储? 我需要存储简单的键值string/string对(不是文档或JSON,只是string)。 这里有一些例子(其中会有数百万): 12345678 – abcdefghijklmnopabcdefghijklmnop 86358098 – ahijklmnopbcdefgahijklmnopbcdefg abcdefghijklmnopabcdefghijklmnop – 12345678 ahijklmnopbcdefgahijklmnopbcdefg – 86358098 我努力了: Redis :它真的很快,可以满足我所需要的一切,但是却消耗了太多的内存。 LevelDB :在RAM上它速度快而且不重,但只有单进程。 LevelDB的解决方法是多级的 ,通过HTTP公开单个LevelDB进程。 但是这当然是有代价的。 我需要快点。 有没有关键价值的商店: 支持Node.js或具有绑定; 存储string/string对; 支持多个进程; 不完全驻留在内存中; 快吗? 我只在乎阅读。 快速的多进程阅读是必要的,但不能写。 我对LevelDB的当前速度感到满意,而不是单一进程的事实。 额外细节: 我正在谈论大约五千万个键/值对,键和值在8到500个字符之间。 代码将运行在一个普通的Linux服务器上。 内存使用量应该限制在几千兆字节(4GB是好的,8GB是可以接受的) 阅读的方式不仅仅是写作, 其实,我可以不写文章。 速度比任何事情都重要(考虑到内存和多进程约束)。