Skip to content

Instantly share code, notes, and snippets.

@BohuTANG
Created October 21, 2011 02:51
Show Gist options
  • Save BohuTANG/1302996 to your computer and use it in GitHub Desktop.
Save BohuTANG/1302996 to your computer and use it in GitHub Desktop.
nessDB中文文档
nessDB是一个小巧、高性能的、支持Redis协议的K-V数据库,使用标准C开发,支持Linux, *BSD, OS X and Solaris 系统,无第三方依赖。
描述:
* 使用Bloom filter检查数据存在性
* 使用Level-LRU提升随机读性能,类似于InnoDB的bufferpool,大小可配置。
* 可分布存储的B+Tree索引文件
* Redis协议支持(PING,GET,MGET,SET,MSET,DEL,INFO):SET相同的key即更新;DEL后面跟多key,即批量删除
源码目录结构
==================
./
./src/ - 源码
./BENCHMARK - 性能测试结果
./LEVEL-LRU - Level-LRU小说明
./TODO - TODO list
./x/ - 网络层源码
接口
==========
* db_init(int bufferpool_size,int isbgsync)
bufferpool_size:LRU缓存大小(单位byte)
isbgsync:是否启用后台从内存到磁盘的数据定时刷新(0:否;1:是)
* db_get(const char *key)
* db_add(const char *key,const char *value)
* db_remove(const char *key)
如何进行性能测试
==================
a, $cd src
b, $make
c, $./nessdb-bench add
最后可使用 "$make cleanall"清理所有数据(包括生成的索引、数据文件)
服务启动
===============
* $./nessdb-server
使用redis-cli(或任一款redis客户端)连接,并进行命令操作(目前支持:PING,SET,GET,DEL).
源码地址:http://github.com/shuttler/nessDB
希望大家多提意见,以便改进(目前都是基于github issues修改)。
Thanks!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment