43 个版本
0.8.10 | 2024年7月2日 |
---|---|
0.8.7 | 2024年4月24日 |
0.8.6 | 2024年1月26日 |
0.8.2 | 2023年12月6日 |
0.4.0 | 2021年6月27日 |
#606 在 数据库接口
每月下载量 732 次
用于 2 crates
105KB
2K SLoC
Skytable 客户端
简介
此库是免费开源的 NoSQL 数据库 Skytable 的官方客户端。首先,按照这里的说明安装 Skytable。此库支持所有与 Skyhash 2 协议 兼容的 Skytable 版本。此版本库与最新的 Skytable 发布版(发布版 0.8.3)进行了测试。有关支持的版本信息,请在此处阅读更多。
definitive example
此库仅包含与 Skytable 交互所需的最小功能。一旦安装并运行 Skytable,您就可以按照此指南操作!
我们将从创建一个新的二进制应用程序并运行操作开始。通过运行以下命令创建一个新的二进制应用程序
cargo new skyapp
提示:您可以在此处查看可用的操作列表。
首先将以下内容添加到您的 Cargo.toml
文件中
skytable = "0.8"
现在您可以开始使用了!
use skytable::{
Query, Response, Config, query,
response::Rows,
};
#[derive(Query, Response)]
#[derive(Clone, PartialEq, Debug)] // we just do these for the assert (they are not needed)
struct User {
userid: String,
pass: String,
followers: u64,
email: Option<String>
}
let our_user = User { userid: "user".into(), pass: "pass".into(), followers: 120, email: None };
let mut db = Config::new_default("username", "password").connect().unwrap();
// insert data
let q = query!("insert into myspace.mymodel(?, ?, ?, ?)", our_user.clone());
db.query_parse::<()>(&q).unwrap();
// select data
let user: User = db.query_parse(&query!("select * from myspace.mymodel where username = ?", &our_user.userid)).unwrap();
assert_eq!(user, our_user);
// select multiple rows
let users: Rows<User> = db.query_parse(&query!("select all * from myspace.mymodel limit ?", 1000u64)).unwrap();
assert_eq!(users[0].userid, "user");
版本支持
- 最低支持的 Rust 版本 (MSRV):1.51.0
- 最低支持的 Skytable 版本:0.8.0
功能
- 同步 API
- 异步 API
- 同步/异步 API 中的 TLS
- 同步/异步的连接池
- 同时使用同步/异步API
- 始终是最新的
贡献
欢迎贡献。请Fork此仓库并提交拉取请求以提交补丁。如果您发现任何错误,请在此处打开一个问题。
许可
此库在Apache-2.0 许可证下分发。
依赖
约4–14MB
约176K SLoC