首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >新的 Rust 客户端致力于实现基于 Aerospike 的安全、高性能应用

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

作者头像
深度学习与Python
发布2025-08-15 09:17:25
发布2025-08-15 09:17:25
12700
代码可运行
举报
运行总次数:0
代码可运行
作者 | Sergio De Simone

译者 | 张卫滨

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。

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

代码语言:javascript
代码运行次数:0
运行
复制
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),
}

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

代码语言:javascript
代码运行次数:0
运行
复制
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(https://www.infoq.com/news/2025/08/aerospike-rust-client/)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档