#key-value-store #filesystem #compression #data-structures

archivist

以时间或索引为基础的目录层次结构存储文件,如果达到大小限制,则自动删除最旧的文件

5 个版本

0.1.1 2024年5月16日
0.1.0 2024年5月16日
0.0.3 2024年5月16日
0.0.0 2019年8月30日

#1308数据库接口

Download history 222/week @ 2024-05-10 109/week @ 2024-05-17 4/week @ 2024-05-24 3/week @ 2024-05-31 5/week @ 2024-06-07 3/week @ 2024-06-14

每月下载量 124

MIT 许可证

1MB
272 代码行

Archivist

Crates.io Version Crates.io License docs.rs

以时间或索引为基础的目录层次结构存储文件,如果达到大小限制,则自动删除最旧的文件。

它使用高效的 kv-store 数据库,出于持久性和性能的考虑。

    // Store at max 1GB of files
    let mut a = Archivist::new("/tmp/archive", DateTimeTree::default(), 1000).await?;
   
    // Our humble file that we want to keep, but may lose interest after some time 
    let mut f = fs::File::open("/tmp/my_words.txt").unwrap();

    // crate a store object for file compression
    let ss = GzStore::new(Cursor::new(f.clone()));

    // add the file to the archive
    a.add("words.txt.gz", &ss).await?;

版权所有 2022-2024,Falco Hirschenberger [email protected]

依赖

~11–19MB
~209K SLoC