#microservices #rpc #async #networking #api

saildb

SailDB 是基于 Canary 和 SRPC 的内存数据库

2 个版本

0.0.2 2021 年 12 月 29 日
0.0.1 2021 年 12 月 28 日

#2316 in 数据库接口

MIT 许可证

28KB
664

SailDB

SailDB 是一个基于 Canary 和 SRPC 的内存数据库。

SailDB 非常高效,因为通信基于 Canary,而键值存储由 Dashmap 支持。

SailDB 对键和值是通用的,可以在运行时构建,并且设计得尽可能简单易用。

创建 SailDB 数据库非常简单

// bind the global route to this socket
Tcp::bind("127.0.0.1:8080").await?;
// bind a SailDB to the global route with the default id
Sail::<String, String>::bind();

访问数据库应该像这样简单

let addr = "127.0.0.1:8080".parse::<Addr>()?;
let mut db: Sail<String, String> = Sail::new(addr).await?;

let (key, val) = ("hello".to_string(), "world!".to_string());

db.insert(&key, &val).await?;

let val = db.get(&key).await?;
assert!(val, Some("world!".to_string()))

SailDB 的简单示例

依赖项

~13–23MB
~351K SLoC