【Rust日报】2021-12-29 infinitree - 嵌入式加密数据库

2021-12-31 11:10:27 浏览数 (1)

infinitree - 嵌入式加密数据库

Infinitree 是一个嵌入式加密数据库。

  • 默认线程安全
  • 透明地处理热/温/冷存储层;目前支持 S3 兼容的后端
  • 可以使用Iterator trait查询,无需完全加载的版本化数据结构
  • 加密所有磁盘数据,仅在使用时解密
  • 专注于性能和灵活
  • 可扩展的自定义数据类型和存储策略

ReadMore:https://github.com/symmetree-labs/infinitree

嵌入式 Rust 的 2021

随着 2021 年接近尾声,我们认为我们会回顾过去一年在 Embedded Rust 中发生的事情,无论是在工作组内还是在更大的社区中。

  • 会议
  • 通讯
  • 平台支持
  • 其他嵌入式项目
  • 资料库

ReadMore:https://blog.rust-embedded.org/this-year-in-embedded-rust-2021/

for vs into_iter - 新手对 map 的误解

我尝试从结构向量填充 HashMap 的下两个场景之间的区别。

第一个使用for工作正常,并且resolvers填充了 HashMap

代码语言:javascript复制
let mut resolvers = HashMap::new();
for a in accounts {
    resolvers
        .entry(a.id)
        .or_insert(Vec::new())
        .push(a);
}
Ok(resolvers)

第二个我试图into_iter代替for,但resolvers总是空的。

代码语言:javascript复制
let mut resolvers = HashMap::new();
accounts.into_iter().map(|a| {
    resolvers
        .entry(a.id)
        .or_insert(Vec::new())
        .push(a);
});
Ok(resolvers)

后一段代码 map 是惰性的,需要触发才能运行,比如用collect。或者直接用 for_each来代替 map

ReadMore:https://www.reddit.com/r/rust/comments/rqln6n/for_vs_into_iter/

0 人点赞