BerkeleyDB是一款优秀的内存数据库,用它我们可以解决内存空间不足,比如需要一个大于内存空间的队列。也可以解决数据持久化的问题。
一,下载,到oracle官方网站,下载BerkeleyDB的源代码。这里给出1.5的链接:http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html。
二,编译。 源代码解压缩后,在终端下进入build_unix目录,执行如下命令:
../dist/configure --enable-cxx --enable-stl
make
务必在build_unix目录下执行,如果第一条命令执行失败,请使用 chmod +x ../dist/configure为configure文件增加可执行权限。
其中--enable-cxx选项表示在生成C语言接口的同时,也生成C++语言接口。--enable-stl表示增加对模板类库的支持。
三,安装。 在build_unix目录下执行如下命令
make install
将会把include文件和lib文件安装/usr/local/BerkeleyDB.1.5下
四,指明动态链接库路径(ubuntu下)
在/etc/ld.so.conf.d目录下,创建BerkeleyDB-1-5.conf文件,在文件里加上如下一行
/usr/local/BerkeleyDB.1.5/lib
在终端里执行 ldconfig更新。这样就可以运行依赖于BerkeleyDB库的程序了。
五,测试
编写test.c
#include <stdio.h> #include <db.h> int main() { DB* dbp; u_int32_t flags; int ret; ret = db_create(&dbp, NULL, 0); if (ret != 0) { /* 错误处理*/ } flags = DB_CREATE; ret = dbp->open(dbp, NULL, "my_db.db", NULL, DB_BTREE, flags, 0); if (ret != 0) { /*错误处理*/ } if (dbp != NULL) { dbp->close(dbp, 0); } return 0; }
采用如下命令编译 :
gcc test.c -o test -ldb -L/usr/local/BerkeleyDB.1.5/lib -I/usr/local/BerkeleyDB.1.5/include
运行:
./test