#cassandra #cql #binding #client #database-driver #api-bindings

discord-cassandra-cpp

基于DataStax C++驱动程序,以实现高性能和功能的Cassandra CQL驱动程序

13个版本

0.16.6 2022年6月17日
0.16.4 2022年5月29日
0.16.3 2022年1月27日
0.16.2-rc02021年12月5日
0.15.1 2020年5月7日

1610数据库接口

Download history 1/week @ 2024-03-09 79/week @ 2024-03-30 16/week @ 2024-04-06

45,279 每月下载量

Apache-2.0

300KB
6K SLoC

Build Status Current Version License

cassandra-cpp

这是一个维护的Rust项目,在https://github.com/datastax/cpp-driver/中公开了DataStax cpp驱动程序,并以一种相对合理的crate形式实现。最初是https://github.com/tupshin/cassandra-rs的分支,但现在已经不再维护。

它是对原始驱动绑定crate cassandra-cpp-sys的封装。

文档(crates.io).

入门

为了使此crate正常工作,您必须首先安装datastax-cpp驱动程序。按照cpp驱动程序文档中的步骤进行操作。大多数平台都提供了预构建的包。

确保驱动程序(特别是 libcassandra_static.alibcassandra.so)位于您的 /usr/local/lib64/ 目录中

文档

请参阅API文档

Cassandra查询语言(CQL)的文档可能很有用。

由于此crate在DataStax驱动程序周围提供了一个相对较薄的封装,因此您也可能发现DataStax的文档API文档很有用。

示例

要查看一个简单的示例,请参阅simple.rs

项目还包括其他示例,位于testsexamples中。

未来(版本0.15)

自版本0.15起,此crate使用std::future,允许您的代码使用futures:0.3async/await等。

之前的版本(0.14及以下)使用futures:0.1。您可以选择保持在0.14流中,更新代码以使用std::future,或者使用兼容性适配器(例如,futures::compat)。

从版本0.8迁移

版本0.10中对API进行了重大更改。(版本0.9被跳过,以与cassandra-cpp-sys的版本号保持一致。)有关主要更改的摘要,请参阅CHANGELOG

许可证

此代码是开源的,根据LICENSE中描述的Apache License Version 2.0授权。

贡献

有关如何为此项目做出贡献的详细信息,请参阅CONTRIBUTING.md

开发

此crate由Travis定期构建;要查看最新构建的详细信息,请单击此页顶部的“构建”徽章。

您必须在系统上安装DataStax驱动程序才能构建此crate。

单元测试假定Cassandra运行在本地主机上,可通过标准端口访问。最简单的方法是使用Docker和标准Cassandra镜像。

docker pull cassandra
docker run -d --net=host --name=cassandra cassandra

您应该以单线程方式运行它们,以避免可怕的org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch错误。测试共享一个键空间和表,因此如果并行运行,它们将相互干扰。

cargo test -- --test-threads 1

完成时,请记得销毁容器

docker stop cassandra
docker rm cassandra

历史

该项目是从cassandra分叉的,该项目不再维护。

依赖项

~9MB
~179K SLoC