【Rust日报】2022-04-24 redb:嵌入式DB

本文介绍了Rust语言的相关项目和工具,包括redb——一个高性能的嵌入式Key-Value存储,Rust异步框架的评测,Passerine脚本语言,rust-apache-age图数据库连接器,以及防止密钥提交的工具ripsecrets。同时提到了Windows下的Docker工具stevedore和Python验证库pydantic-core。
摘要由CSDN通过智能技术生成

redb:嵌入式DB

一个简单、便携、高性能、ACID、嵌入式的 Key-Value 存储工具。使用纯 Rust 编写,受 Imdb 启发,更多细节可阅读下面的设计文档。

use redb::{Database, Error, ReadableTable, TableDefinition};

const TABLE: TableDefinition<str, u64> = TableDefinition::new("my_data");

let main() -> Result<(), Error> {
    let db = unsafe {Database::create("my_db.redb", 1024 * 1024)? };
    let write_txn = db.begin_writer()?;
    {
        let mut talbe = write_txt.open_table(TABLE)?;
        table.insert("my_key", &123)?;
    }
    write_txt.commit()?;
    
    let read_txt = db.begin_read()?;
    let table = read_txn.open_table(TABLE)?;
    assert_eq!(table.get("my_key")?.unwrap(), 123);
    
    Ok(())
}

Benchmark:

+--------------------+--------+--------+--------+
|                    | redb   | lmdb   | sled   |
+===============================================+
| bulk load          | 1605ms | 1294ms | 4642ms |
|--------------------+--------+--------+--------|
| individual writes  | 516ms  | 411ms  | 527ms  |
|--------------------+--------+--------+--------|
| batch writes       | 7444ms | 3938ms | 1465ms |
|--------------------+--------+--------+--------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值