#sled #serde #database #embedded-database

sled-extensions

围绕Sled嵌入式数据库的包装,以允许存储结构化数据

5个版本

0.2.0 2019年10月16日
0.1.3 2019年9月17日
0.1.2 2019年9月17日
0.1.1 2019年9月16日
0.1.0 2019年9月16日

编码中排名第1243

Download history 30/week @ 2024-04-08 31/week @ 2024-04-15 39/week @ 2024-04-22 31/week @ 2024-04-29 31/week @ 2024-05-06 34/week @ 2024-05-13 34/week @ 2024-05-20 37/week @ 2024-05-27 25/week @ 2024-06-03 15/week @ 2024-06-10 25/week @ 2024-06-17 29/week @ 2024-06-24 39/week @ 2024-07-08 23/week @ 2024-07-15 15/week @ 2024-07-22

每月下载量81
用于 2 crates

自定义许可

61KB
1K SLoC

Sled Extensions

围绕Sled嵌入式数据库的包装,以允许存储结构化数据

使用Sled Extensions与使用Sled非常相似。Tree API直接反映了Sled,而[Db]类型则通过特质进行了扩展。

use sled_extensions::{Config, DbExt};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let db = Config::default().temporary(true).start()?;
    let tree = db.open_json_tree::<usize>("json-tree")?;

    tree.insert(b"hey", 32)?;

    if let Some(num) = tree.get(b"hey")? {
        assert_eq!(num, 32);
    } else {
        unreachable!("Shouldn't be empty");
    }

    Ok(())
}

可用功能

  • bincode - 启用存储bincode编码的数据
  • cbor - 启用存储cbor编码的数据
  • json - 启用存储json编码的数据

贡献

除非另有说明,否则本项目的所有贡献都将根据CSL许可,但本文件许可部分中列出的例外情况除外。

许可

本作品受合作软件许可的许可。这不是自由软件许可,但可能被视为“源代码可用许可”。对于大多数爱好者、自雇开发者、工人拥有的公司合作社,此软件可用于大多数项目,只要此软件根据CSL的条款分发。有关更多信息,请参阅提供的LICENSE文件。如果不存在,则可在网上此处找到许可。如果您是自由软件项目并希望根据GNU Affero通用公共许可证的条款使用此软件,请通过[email protected]联系我,我们可以解决这个问题。如果您希望以任何其他许可使用此项目,特别是在专有软件中,答案可能是否。

依赖

~3.5–5MB
~87K SLoC