#disk #cache #save #persist

disk-persist

一个库,使您的应用程序在执行之间保持数据变得非常容易。

1 个不稳定版本

0.1.0 2022 年 7 月 15 日

#1511文件系统

Download history 5/week @ 2024-04-05 1/week @ 2024-06-28 17/week @ 2024-07-05 27/week @ 2024-07-12 6/week @ 2024-07-19

51 每月下载量

MIT 许可证

8KB
108 行代码(不含注释)

磁盘持久化

CI

一个库,使您的应用程序在执行之间保持数据变得非常容易。它可以(非常快速地)读取和写入实现了 serdeSerializeDeserialize 的任何数据结构,并将信息自动保存到用户的缓存文件夹或您指定的任何其他路径。

默认位置

平台 示例
Linux $XDG_CACHE_HOME$HOME/.cache /home/user/.cache
macOS $HOME/Library/Caches /Users/User/Library/Caches
Windows {FOLDERID_LocalAppData} C:\Users\User\AppData\Local

基础知识

创建我们的数据

use serde::{Deserialize, Serialize};

...

#[derive(Serialize, Deserialize, Debug)]
struct Data {
    name: String,
    age: u8,
}

将其写入磁盘

let persist: DiskPersist<Data> = DiskPersist::init("disk-persist-example").unwrap();

let data = Data {
    name: "John Doe".to_string(),
    age: 45,
};

persist.write(&data).unwrap();

然后在任何时间读取它

let persist: DiskPersist<Data> = DiskPersist::init("disk-persist-example").unwrap();

println!("{:#?}", persist.read().unwrap());

输出

Some(
    Data {
        name: "John Doe",
        age: 45,
    },
)

依赖关系

~0.7–1.6MB
~32K SLoC