正文
1.BoltDB简介
Bolt是一个纯粹Key/Value模型的程序。该项目的目标是为不需要完整数据库服务器(如Postgres或MySQL)的项目提供一个简单,快速,可靠的数据库。
BoltDB只需要将其链接到你的应用程序代码中即可使用BoltDB提供的API来高效的存取数据。而且BoltDB支持完全可序列化的ACID事务,让应用程序可以更简单的处理复杂操作。
其源码地址为:https://github.com/boltdb/bolt
2.BoltDB特性
BoltDB设计源于LMDB,具有以下特点:
-
使用Go语言编写
-
不需要服务器即可运行
-
支持数据结构
-
直接使用API存取数据,没有查询语句;
-
支持完全可序列化的ACID事务,这个特性比LevelDB强;
-
数据保存在内存映射的文件里。没有wal、线程压缩和垃圾回收;
-
通过COW技术,可实现无锁的读写并发,但是无法实现无锁的写写并发,这就注定了读性能超高,但写性能一般,适合与读多写少的场景。
BoltDB是一个