基于bitcask日志模型的k-v数据库有多个实现,比如豆瓣db, riak里的,nodejs也有一个140代码的简单实现(node-cask),我这里实现的目的是,我需要在nodejs中找到一个简单的, 方便,完全异步的kv存储机制,不需要跨服务器分布式系统,类似于sqlite那样的就好了,基于以上,就用纯nodejs实现了一个
主要特点是
1. 完全异步,这个和node-cask项目不同
2. 没用除了nodejs自带module外的任何module
3. 数据log文件采用文本方式,可以直接用文本编辑器打开看以及一定的编辑
var yesdb = require('./yesdb');
var db = yesdb.opendb('xxx');
// 在这里并没有真正执行,而是当数据库打开完毕后才执行
db.set('abc', 'defx神马', function () {
console.info('set item ok');
});
// 在这里并没有真正执行,而是当数据库打开完毕后才执行
db.get('abc', function (err, v) {
console.info('get value', v);
});
// 正常情况下应该先执行这句
console.log('This statement should be executed before db operations');
目前还有一些功能没有完成, 比如key的删除,log文件的整理,还有hint 文件等,会慢慢加上。有条件也要作benchmark.
开源地址在 https://github.com/superisaac/node-yesdb
分享到:
相关推荐
该项目在NodeJS中实现了原始的webShark API,从而改善了其功能和输入方法,以支持PCAP存储后端API,例如Stenographer等。指示将您的PCAP内容目录挂载到位置/captures并启动webshark使用Compose运行docker-compose ...
节点视频时长NodeJs模块,用于检索视频/音频资产的持续时间。 需要安装ffprobe二进制文件。安装$ npm install --save node-video-duration用法 const getVideoDuration = require ( 'node-video-duration' ) ;...
node-mongo-express-todoApp NodeJs MongoDb和Express入门版todoApp 克隆回购#安装并运行:npm install npm start
clean-node-api:API em NodeJs使用脚本,TDD,Clean Architecture,设计模式和SOLID原则
vue-nodejs-elementUI-mysql-express-demo vue+nodejs前后端分离项目,学习使用,包含基本的入门操作。包括从开始创建项目到最后部署的实现过程及过程中遇到的一些问题整理。 项目预览地址: 评论讨论地址: 数据库...
节点翻译 一个包含NodeJS 翻译库安装要构建本地版本以供使用或开发: git clone git@github.com:thestonefox/node-translate.gitcd node-translatenpm install安装为节点模块: npm install node-translate --save...
node-websocket-client, NodeJS的Web Socket客户端 一个 Prototype Web Socket 客户端实现 node.js 。测试 miksago/node-websocket-server v1.2.00.需要 nodejs 0.1.98或者更高版本。安装按如下方式使用 np
银行假日帮手 一个用于获得银行假期的 NodeJS 库。 此模块可让您列出特定年份和特定国家/地区的所有银行假期。特征: 非常简单的API 支持以下国家:FR、GB安装使用安装: npm install bankholiday如何使用(以FR国家...
node-v18.16.0-x64,Nodejs最新WINDOWS环境安装包
这是一个绿色傻瓜版,适合新入门学习的人。 将压缩包解压后的放置在该目录下: D:\DevTools\Nodejs\ 然后双击运行: Nodejs环境设置.bat 以下可以通过 cmd 进行个性化设置(选做,建议设置一下): npm config ...
一个NodeJS模块来访问Fetchr API 安装 npm install fetchr - api -- save 用法 var Fetchr = require('fetchr-node-client')({ username: 'dummy', password: '123456789', serviceType: 'delivery', ...
no-express-api:简单的nodejs服务器,无需使用oracle数据库即可使用express
Modbus串行NodeJS的MODBUS-RTU(串行和TCP)的纯JavaScript实现。 Modbus是一种串行通信协议,于1979年首次使用。Modbus简单,可靠,公开发布,免版税,易于部署和维护。 该软件包使Modbus通话变得轻松有趣。安装npm...
api示例 —— 使用 NodeJS 和 HapiJS 的 API 示例 —— 系统要求: NodeJS, npm - https://nodejs.org/ ...可选的 Windows 实用程序: ...安装节点模块: 1....> cd <path>/git/api-... > node server.js navigate to ht
NodeJS | 恩 一个NodeJS专案 安装NPM软件包 在开始从事此项目之前,请不要忘记运行npm install
node-robot-arm:运行由NodeJS开发并在Pi Zero中实现的3D打印机器人手臂的代码
docker image build -t phusion/passenger-nodejs:latest . 运行容器 docker run -it phusion/passenger-nodejs:latest docker run -it -p 3000:3000 phusion/passenger-nodejs:latest SSH到容器 docker exec -it ...
节点-PowerShell Node-PowerShell利用当今技术世界中存在的两个最简单,有效和简便的工具。 一方面, 在javascript领域掀起了一场革命,另一方面, 最近推出了最初的开源,跨平台版本,并将它们连接在一起,使您能够...
sketch-node-parser, 使用纯NodeJS从草图中解析文件 sketch-node-parser使用纯NodeJS从草图中解析文件。这个项目只是一个 proof-of-concept,并没有准备好使用。摘要这个程序演示如何打开一个草图文件,并将它解析为...
为NodeJS编写的简单文本OwOifier 安装 # If you use NPM npm install node-owoifier --save # If you use Yarn yarn add node-owoifier 用法 const OwOifier = require ( "node-owoifier" ) ; const owo = new ...