cberner avatar

cberner/redb

4.7k 220 24
Rust Apache-2.0
创建于 7 年前 最后更新 昨天 +2 stars today

AI 综合评分

58 B 级
代码质量
53
文档质量
60
社区健康
56
项目活跃
63
创新性
51

项目简介

纯 Rust 编写的高性能嵌入式键值数据库,类似 LMDB。

项目摘要

【主题】

一个轻量、高性能的纯 Rust 嵌入式键值数据库,旨在替代 LMDB,无需外部依赖。

【核心分点总结】

  1. 纯 Rust 实现:完全用 Rust 编写,无 C 依赖,保障内存安全和跨平台一致性。

  2. ACID 事务支持:提供读-写事务隔离,支持多版本并发控制(MVCC),保证数据完整性。

  3. 零拷贝 & 内存映射:基于 mmap 的零拷贝 I/O,读写近乎内存速度,适合高频访问场景。

  4. 简洁易用的 API:类似 LMDB 的键值操作接口,但更 Rust 化,支持表、游标、范围查询。

  5. 高性能:单机写吞吐量达 100 万 ops/s 以上(取决于硬件),读性能接近内存极限。

【行动指南】

  1. 场景:当你需要本地持久化键值存储(如配置、状态缓存、嵌入式数据库)且追求高性能与安全性时,优先考虑 redb。
  2. 上手:在 Cargo.toml 添加 redb = "2",然后创建数据库并打开表,即可开始读写。

【金句总述】

用 Rust 的极致性能,打造零成本抽象的嵌入式数据库。

【故事性收尾】

过去,集成一个嵌入式数据库意味着要引入 C 库、处理 FFI 边界和跨平台编译难题。现在,只需 cargo add redb,一切悄然发生——你的 Rust 代码依然干净、安全,而数据库操作快得仿佛在操作内存。

相关项目推荐