LevelDB是google公司开发出来的一款 超高性能kv存储引擎,以其惊人的读性能和更加惊人的写性能在轻量级nosql数据库中鹤立鸡群. 此开源项目目前是支持处理十亿级别规模Key-Value型数据持久性存储的C++ 程序库。在优秀的表现下对于内存的占用也非常小,他的大量数据都直接存储在磁盘上.可以理解为以空间换取时间.

任何东西都不是十全十美的,LevelDB也有它的局限性:

LevelDB 只是一个 C/C++ 编程语言的库, 不包含网络服务封装, 所以无法像一般意义的存储服务器(如 MySQL)那样, 用客户端来连接它, 使用者应该封装自己的网络服务器.

node.js下如何使用LevelDB ?

node.js环境下使用需要npm 包 levelUP,levelDown 来支持. npm install levelUP levelDown 或者你也可以这样 npm install level 提醒:levelup 版本最好用0.10.0或者更低版本,最新版本和leveldown编译时出问题. npm 安装指定版本依赖包 所以这样比较安全 npm install levelup@0.10.0 leveldown

如何使用?

api定义非常简单. var levelup = require('levelup'); var db = levelup('./yijiebuyi'); //这里的路径就是物理存储数据的文件路径,建议不要放到项目中. 下面是常用的获取,设置api (引用自 github node-levelup https://github.com/rvagg/node-levelup)

    // put a key & valuedb.put('name', 'LevelUP', function (err) { if (err) return console.log('Ooops!', err) // some kind of I/O error // fetch by key db.get('name', function (err, value) { if (err) return console.log('Ooops!', err) // likely the key was not found // ta da! console.log('name=' + value) }) })

一介布衣博客 采用了node.js + leveldb 方式,上面的这个数据库封装类也是一介布衣博客使用的一个通用帮助文件.

关于levelDB的api我简单做了一个封装,代码如下:

//设置
function put(key, value, callback) { if (key && value) { db.put(key, value, function (error) { callback(error); }) } else { callback('no key or value'); } } //获取 function get(key, callback) { if (key) { db.get(key, function (error, value) { callback(error, value); }) } else { callback('no key', key); } } //删除 function del(key, callback) { if (key) { db.del(key, function (error) { callback(error); }) } else { callback('no key'); } } //批量操作 function batch(arr, callback) { if (Array.isArray(arr)) { var batchList = []; arr.forEach(item) { var listMember = {}; if (item.hasOwnProperty('type')) { listMember.type = item.type; } if (item

转载于:https://www.cnblogs.com/yijiebuyi/p/4168399.html

levelDB数据库使用及实例 - 高性能nosql存储数据库相关推荐

  1. 加强版Redis,又一款国产高性能KV存储数据库开源了!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:腾讯开源 项目简介 Tendis是腾讯互娱CROS ...

  2. oracle 一个实例创建多个数据库_oracle 一个实例创建多个数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. oracle查询数据库名、实例名、ORACLE_SID

    oracle查询数据库名.实例名.ORACLE_SID 查询oracle数据库的数据库名.实例名.ORACLE_SID 数据库名.实例名.数据库域名.全局数据库名.服务名 ,这是几个令很多朋友容易混淆 ...

  4. [转载]Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema

    常被oracle的几个概念搞得很晕,和公司做pl/sql的同事讨论后,又到网上搜索下,现将个人对这几个概念的理解做个笔记:先通俗的解释下数据库这个概念,数据库就是存储在磁盘上的文件,这些文件中保存的数 ...

  5. 单实例数据库和多实例数据库

    java持续学习中,暂时说说工作上学到的知识 单实例数据库模式 单实例模式下,一个数据库只能通过一个实例进行访问 RAC(Real Application Clusters)集群模式下,共享数据库文件 ...

  6. python数据库在哪_python可以用哪些数据库

    数据库分类 早期数据库模型有三种,分别为层次式数据库.网络式数据库和关系型数据库. 而在当今的互联网中,通常把数据库分为两类,即关系型数据库和非关系型数据库. 关系型数据库 关系型数据库是指采用了关系 ...

  7. 高性能NoSql数据库 SSDB

    今天在看一个开源项目的时候,发现作者使用一个ssdb的数据库,第一反应是ssd硬盘,当时很诧异.后面了解后才知道,原来是 nosql数据库. ssdb介绍 一个高性能的支持丰富数据结构的 NoSQL ...

  8. python数据库应用开发实例_纯Python开发的nosql数据库CodernityDB介绍和使用实例

    看看这个logo,有些像python的小蛇吧 .这次介绍的数据库codernityDB是纯python开发的. 先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给 ...

  9. 分布式NoSQL列存储数据库Hbase(六)

    文章目录 分布式NoSQL列存储数据库Hbase(六) 知识点01:回顾 知识点02:目标 知识点03:SQL on Hbase 知识点04:Hive on Hbase 介绍 知识点05:Hive o ...

最新文章

  1. 蘋果全新MacBook價高質更精
  2. git报错:remote: warning: Large files detected.
  3. iOS微博项目(一)
  4. ansible自动化管理
  5. HDU-2072 单词数 水题一枚
  6. 学会这个BBC,你的图也可以上新闻啦!
  7. git常用操作,切换分支,合并分支
  8. 英语四级真题作文 计算机,2019年12月英语四级写作范文:电脑
  9. yolov5 解码使用GPU进行加速
  10. VirtualBox安装Windows和CentOS虚拟机
  11. yolo系列之yolo v3【深度解析】
  12. 笔记本W10找不到端口(com口)及单片机串口连接的问题(附51开发板的CH340串口芯片的驱动程序安装包)
  13. 【51单片机开发板】可调周期、占空比pwm工程
  14. Markdown基础语法详细版
  15. Linux系统中xz命令用法详解(压缩和解压缩)
  16. window.requestAnimationFrame讲解
  17. vue实现下拉二级联动_vue实现二级联动效果
  18. 奔跑吧,我的JavaScript(1)
  19. 【叶神中级】四篇-3.页面访问
  20. 正交设计 python算法_Python实现正交实验法-高级篇

热门文章

  1. switch中default的用法
  2. html iframe.b.gen 病毒,常见病毒及处理方法.doc
  3. c语言 整形数组如果输入回车,数字数组 输入字符'q'推出程序 输入enter,停止输入...
  4. gis属性表怎么导成excel_第022篇:ArcGIS中将属性表直接导出为Excel的方法
  5. 什么是groupid和artifactId?
  6. 性能测试服务器数量与线上数量不同,性能需求分析
  7. 编写时钟aplet程序java,编写时钟 Applet 程序
  8. mysql sqlserver 性能优化_SQLSERVER SQL性能优化技巧
  9. python redis集群_Python3 redis集群连接 (带密码验证)
  10. java 二进制报文头_转自:java 文件格式二进制头文件校验