具有node.js绑定的磁盘上查找表

具有node.js绑定的磁盘上查找表,node.js,key-value,lookup-tables,Node.js,Key Value,Lookup Tables,对于一个项目,我创建了一个队列库,基本上将url存储在一个集合中(它实际上是一个对象,我在其中将键设置为true,但可以将其视为一个数组),因此队列只获取每个url一次。这工作得非常好,但是我面临的问题是有很多URL,所以RAM使用率变得非常高 因此,我想使用磁盘上的键值存储(实际上只需要键值,不知道是否有不同的方法),并满足以下要求: 无需将整个数据集加载到RAM中 快速查找 Node.js绑定 它不必太安全(偶尔丢失数据不是什么大问题,较低的RAM要求更重要),即使在这种情况下我使用No

对于一个项目,我创建了一个队列库,基本上将url存储在一个集合中(它实际上是一个对象,我在其中将键设置为true,但可以将其视为一个数组),因此队列只获取每个url一次。这工作得非常好,但是我面临的问题是有很多URL,所以RAM使用率变得非常高

因此,我想使用磁盘上的键值存储(实际上只需要键值,不知道是否有不同的方法),并满足以下要求:

  • 无需将整个数据集加载到RAM中
  • 快速查找
  • Node.js绑定
它不必太安全(偶尔丢失数据不是什么大问题,较低的RAM要求更重要),即使在这种情况下我使用Node.JS,这种查找也不一定需要运行异步


实际上,一个附带的问题是,是否有比磁盘键值方法更好的方法。一个学期就好了。Lookuptables总能让我找到数据集(IP、邮政编码等)

我会使用一个包含一列的sql表(存储url)。比redis(几乎所有存储在内存中)更好地控制内存使用

  • 易于检查是否已经存在相同的值
  • 易于插入
  • 易于删除一个元素
如果它真的“不必太安全”,另一种设计是继续将所有内容存储在内存中,但限制存储的URL数量,例如使用LRU缓存

您可以在node.js(易于查找)中使用缓存,也可以在同一台机器上使用单独的memcached服务器