35 个版本 (11 个稳定版本)
3.0.0 | 2023年9月14日 |
---|---|
2.0.0 | 2023年7月20日 |
1.0.8 | 2023年6月20日 |
1.0.6 | 2023年1月15日 |
0.1.5 | 2017年10月23日 |
#556 在 数据库接口 中
每月 1,014 次下载
用于 10 个 Crates (7 个直接使用)
425KB
10K SLoC
leveldb-rs
LevelDB 在 Rust 中的完全兼容实现。(任何不兼容性都是错误!)
实现与原始实现非常接近;通常,您可以看到相同的算法被1:1翻译,并且类(结构体)和方法名称相似或相同。
注意:我不推荐使用此库处理任何您关心的数据。然而,我确实关心错误报告。
状态
运行良好。如果您遇到问题,请提交问题。
目标
此实现的一些目标包括
- 尽可能减少数据的副本;大多数情况下,使用字节数组切片(
&[u8]
)。拥有内存表示为Vec<u8>
(然后可能作为切片借用)。虽然零拷贝并非总是可能,但有时简单性是首选的。 - 正确性 — 自检实现,良好的测试覆盖率等。就像原始实现一样。
- 清晰性;带注释的代码,清晰的架构(希望比原始实现做得更好)。
- 尽可能接近原始实现;阐明典型 C++ 构造到 Rust 的翻译,并更好地帮助理解内部结构。
依赖项
~0.5–1.9MB
~29K SLoC