2 个版本

0.1.1 2022 年 8 月 14 日
0.1.0 2022 年 6 月 16 日

#1432数据结构


用于 lucidmq

Apache-2.0

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