14 个版本
0.7.0-alpha.5 | 2024 年 1 月 9 日 |
---|---|
0.7.0-alpha.3 | 2023 年 12 月 30 日 |
0.5.0 |
|
731 在 数据库接口 中
每月 310 次下载
17KB
266 行
Retable
Rust 库,用于类似于原子操作的二次索引实体属性数据结构。
此库包含
- 原子协议,一种描述数据库修改的协议。
- 原子协议的简单实现,使用 [
im
].
原子
原子是一种描述数据库修改的方式。
数据部分 | 数据类型 | 字段长度 | 描述 |
---|---|---|---|
操作 | u8 | 1 字节 | 四种基本修改操作的枚举。 |
键 | K(泛型) | 零或任何 | 索引键的类型。 |
值 | V(泛型) | 零或任何 | 存储值的类型。 |
增量 | D(泛型) | 零或任何 | 修改值的类型。 |
- 端序:小端序,Rust 本地。
- 编解码器:使用 rust zerocopy 进行编码/解码。
请注意,由于数据结构由用户定义,因此没有空字段的占位符。换句话说,原子使用打包布局来存储数据。因此,这些结构体具有相同的内存布局
- Atom<u8,u16,()>
- Atom<u8,(),u16>
- Atom<u8,u8,u8>
- Atom<u16,u8,()>
- 等等...
路线图
- 冻结原子协议。
- 使用 im 作为基本实现。
- 支持异步非阻塞操作。
- 文档。
- 外部消息队列支持。
- 基准测试。
- 自动缩小内部数据以使其更加密集。
由 RuofengX 编写 · 用于 entropy-rs,游戏
MIT 许可。
依赖关系
~1.4–7.5MB
~39K SLoC