#storage #persistent #data

crio

易于使用的持久化数据存储库

24个版本 (5个稳定版)

2.0.5 2022年6月28日
2.0.3 2022年6月13日
1.0.1 2022年3月31日
0.4.5 2022年3月30日
0.1.6 2022年3月24日

#590 in 数据结构

Download history 31/week @ 2024-04-01

每月62次下载

MIT 许可证

14KB
163

持久化数据容器

易于使用的持久化数据存储库。与 serde 集成良好。

用法

use crio::Client;
use serde_derive::{Deserialize, Serialize};

#[derive(Serialize, Deserialize)]
struct Message {
    id: usize,
    message: String,
}

let msg1 = Message {
    id: 1,
    message: "Hello there, you suck".to_string(),
};
let msg2 = Message {
    id: 2,
    message: "No you".to_string(),
};
let msg3 = Message {
    id: 3,
    message: "You both suck".to_string(),
};
let messages = vec![msg1, msg2, msg3];
let client: Client<Message> = Client::new("messages", false)?; // If no file is found, a new empty file is created.
client.write_many(&messages)?; // If no file is found, a new file is created and then written to. Append is set to false such that it overwrites any previous value stored on the same file
let returned_messages = client.load()?;
if let Some(data) = returned_messages {
    assert_eq!(messages, data);
} else {
    panic!("File is empty");
}

依赖项

~0.8–1.5MB
~33K SLoC