1个不稳定版本

0.1.0 2020年9月4日

#2880数据库接口

MIT/Apache

360KB
9K SLoC

CDRS crates.io版本 构建状态 构建状态

CDRS - Apache Cassandra driver

CDRS是纯Rust编写的Apache Cassandra驱动。

💡寻找异步版本?

功能

  • TCP/SSL连接;
  • 负载均衡;
  • 连接池;
  • LZ4, Snappy压缩;
  • Cassandra到Rust数据反序列化;
  • 可插拔认证策略;
  • 支持ScyllaDB;
  • 监听服务器事件;
  • 支持多个CQL版本(3, 4),完整规范实现;
  • 查询跟踪信息。

文档和示例

入门

将CDRS作为依赖项添加到您的 Cargo.toml 文件中

cdrs = { version = "2" }

然后将它作为外部crate添加到您的 main.rs

extern crate cdrs;

use cdrs::authenticators::NoneAuthenticator;
use cdrs::cluster::session::{new as new_session};
use cdrs::cluster::{ClusterTcpConfig, NodeTcpConfigBuilder};
use cdrs::load_balancing::RoundRobin;
use cdrs::query::*;

fn main() {
  let node = NodeTcpConfigBuilder::new("127.0.0.1:9042", NoneAuthenticator {}).build();
  let cluster_config = ClusterTcpConfig(vec![node]);
  let no_compression =
    new_session(&cluster_config, RoundRobin::new()).expect("session should be created");

  let create_ks: &'static str = "CREATE KEYSPACE IF NOT EXISTS test_ks WITH REPLICATION = { \
                                 'class' : 'SimpleStrategy', 'replication_factor' : 1 };";
  no_compression.query(create_ks).expect("Keyspace create error");
}

本例配置了一个由单个节点组成的集群,并使用轮询负载均衡和默认的r2d2连接池值。

许可证

本项目许可协议为以下之一

任选其一。

依赖项

~3–12MB
~153K SLoC