50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

新的 Rust 客户端致力于实现基于 Aerospike 的安全、高性能应用

  • 2025-08-13
    北京
  • 本文字数:898 字

    阅读完需:约 3 分钟

大小:326.26K时长:01:51
新的Rust客户端致力于实现基于Aerospike的安全、高性能应用

Aerospike 正式发布Rust客户端,以支持与其实时 NoSQL 数据库交互,实现高吞吐量、低延迟应用程序。

 

来自 Aerospike 的 Brian Porter 解释说,他们正式采用之前由社区支持的 Rust 客户端,主要是因为 Rust 在金融、电信、云基础设施和嵌入式系统等行业中用于构建高吞吐量、低延迟应用程序的场景变得日益普及。

像 Amazon、Cloudflare 和 Discord 这样的组织已经采用 Rust 来构建可靠的基础设施,并消除通常基于 C/C++的软件所带来的内存相关的错误。

 

Rust 客户端采用了异步优先的并发模型,允许开发者选择Tokio crate 或async-std作为底层实现。对于遗留或混合环境,它还包括一个 sub-crate,暴露阻塞 I/O API。

 

除了原子操作,客户端还支持批命令,以便在单个调用中操作多个记录。客户端的第2版增加了对读取、写入、删除和 UDF 操作的全面支持。它还支持使用主键和次键查询记录,并支持分页和限制返回记录的数量。

 

Rust 客户端的其他重要特性包括对副本策略和节流的支持,以及对数据模型类型的高级表示,如 Exists、OrderedMap 和 UnorderedMap。

 

以下代码片段简洁地演示了如何对主键索引运行查询以检索满足给定条件的记录:

let client = ...let mut policy = ScanPolicy::default();policy.include_bin_data = false;match client.scan(&policy, "test", "demo", None) {    Ok(records) => {        // process the records    },    Err(err) => println!("Error fetching record: {}", err),}
复制代码

与之类似,以下展示了如何通过将记录与键关联来创建记录的方法:

let key = as_key!("test", "myset", "mykey");let bin = as_bin!("mybin", "myvalue");match client.put(&policy, &key, &vec![&bin]) {    Ok(()) => println!("Record written"),    Err(err) => println!("Error writing record: {}", err),}
复制代码

 

在 Aerospike 的 Rust 客户端路线图上,有几个强大的功能,包括对分区查询、分布式ACID事务、强一致性和完整 TLS 的支持。

 

Aerospike 还提供其他几个客户端库,帮助开发者以符合其数据库习惯的方式构建应用程序,包括 Node.js、Java、Python、C 等。

 

原文链接:

New Rust Client Enables Building Safe, High-Performance Apps with Aerospike

2025-08-13 11:404628

评论

发布
暂无评论
新的Rust客户端致力于实现基于Aerospike的安全、高性能应用_编程语言_Sergio De Simone_InfoQ精选文章