百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
B

bolthold

> 编程语言
开源

BoltHold 是基于 BoltDB 构建的可嵌入式 NoSQL 存储库,用于 Go 类型。

657 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

BoltHold 是基于 BoltDB 构建的可嵌入式 NoSQL 存储库,用于 Go 类型。

BoltHold 是一个简单的查询和索引层,它基于 Bolt DB 实例。如果您想了解基于 Badger 构建的类似库,请参阅 BadgerHold。目标是创建一个简单的、更高级的接口,该接口在 Bolt DB 上方便地处理 Go 类型和查找数据,但同时也将底层的 Bolt DB 供您自行定制。默认情况下,使用的编码是 Gob,因此您可以自由地使用 GobEncoder/Decoder 接口来加快序列化。或者,您也可以使用任何您想要的序列化方式,通过在 Open 方法中向 Options 结构提供 encode / decode 函数。

一个 Go 类型将有一个桶,而 BoltDB 文件中有多个索引桶,因此您可以在同一个数据库中存储多个 Go 类型。

索引允许您跳过检查不符合索引条件的记录。如果您有 1000 条记录,而其中只有 10 条属于您要处理的部门,那么如果在部门字段上创建了索引,则不需要检查其他 990 条记录是否符合查询条件。索引的缺点是,每次写入操作都会增加磁盘读取和写入。对于读取量大的操作数据集,索引非常有用。在每个 BoltHold 库中,都会有一个预留的 bucket _indexes,用于存储指向另一个 bucket 的 Key 系统的索引。索引将通过在类型中的一个字段上设置 boltholdIndex 结构标签来定义。

go
type Person struct {
	Name string
	Division string `boltholdIndex:"Division"`
}

``` 这表示会有 i

[](https://pkg.go.dev/github.com/timshannon/bolthold) [](https://coveralls.io/github/timshannon/bolthold?branch=master) [](https://goreportcard.com/report/github.com/timshannon/bolthold)

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Goboltdbbucketgogolang

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言