1 个不稳定发布
0.1.0-alpha.0 | 2020 年 3 月 23 日 |
---|
#2585 in 数据库接口
55KB
1.5K SLoC
CDRS-async - Rust 的异步 Apache Cassandra 和 Scylla 驱动程序
CDRS-async 是 Apache Cassandra 和 Scylla 数据库的异步驱动程序。
它仍处于 alpha 版本,但您可以尝试使用它。
特性
-
LZ4、Snappy 压缩;
-
Cassandra 到 Rust 的数据反序列化;
-
可插拔的认证策略;
-
ScyllaDB 支持;
-
服务器事件监听;
-
支持多个 CQL 版本(3、4),实现完整规范;
-
查询跟踪信息。
入门指南
将 CDRS-async 添加到您的 Cargo.toml 文件作为依赖项
cdrs-async = { version = "*" }
然后将其添加为外部 crate 到您的 main.rs
文件
extern crate async_std;
extern crate async_trait;
extern crate cdrs_async;
use async_std::{pin::Pin, task};
use cdrs_async::{authenticators::NoneAuthenticator, query::QueryExecutor, Compression, Session};
const CREATE_KS_QUERY: &'static str = r#"
CREATE KEYSPACE IF NOT EXISTS async_cdrs_3
WITH REPLICATION = {
'class' : 'SimpleStrategy',
'replication_factor' : 1
};
"#;
fn main() {
task::block_on(async {
let authenticator_strategy = NoneAuthenticator {};
let mut session = Session::connect(
"127.0.0.1:9042",
Compression::None,
authenticator_strategy.into(),
)
.await
.expect("session connect");
let pinned_session = Pin::new(&mut session);
let r = pinned_session.query(CREATE_KS_QUERY).await;
println!("Result {:?}", r);
});
}
许可
此项目受以下任一许可协议的许可:
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)任选其一。
依赖项
~15–27MB
~497K SLoC