2 个版本
0.1.1 | 2022 年 8 月 14 日 |
---|---|
0.1.0 | 2022 年 6 月 16 日 |
#1432 在 数据结构
用于 lucidmq
33KB
704 行
Nolan
什么是 Nolan?
Nolan 是一个基础库,它将 commitlog/WAL 逻辑包装并处理成一个简化的 API。对于那些不熟悉的人,这是一个只添加数据结构,通过偏移量支持随机读取。这个库是为 LucidMQ 项目背后的持久化单元创建的。它相当通用,可以用于需要利用 commitlog/WAL 的其他项目。
为了防止 commitlog 损坏,只暴露了少数 commitlog 方法供客户端代码使用。
基本用法
pub fn main() {
let commit_log = Commitlog::new("test_dir".to_string(), 1000, 10000);
// Let's append data to our commitlog
commit_log.append("hello please".as_bytes());
//Lets lookup by offset the message we just appended
commit_log.read(0);
}
依赖
~0.7–1.3MB
~30K SLoC