2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

新的 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:404850

评论

发布
暂无评论

工具集系列 02|还在为海报设计、LOGO 设计发愁?这些在线工具值得收藏

一尘观世界

效率工具 设计 海报 课程封面 知识付费

给应届毕业生们的七点建议

Neco.W

大学生日常 工作 应届毕业

如何扩大我们的英语词汇量

董一凡

学习

C语言运算符

C语言技术网-码农有道

C语言 运算符

高仿瑞幸小程序 06 layout布局

曾伟@喵先森

小程序 微信小程序 大前端

每个人都应该知道的性能参数

ElvinYang

Python网络编程socket 简易聊天窗

Flychen

当前的经济形势,如何让自己免于风险?

鼎玉谷

JavaScript 学习笔记——数据类型

zjlulsum

Java 学习 大前端 类型推断 入门

Using R for everything: 方差分解(Variation partition)变量筛选与显著性标注

洗衣机用户不会用洗衣机

数据分析 R

放假了,你还会打开钉钉么?

Geek_6rptuk

高效工作 团队管理 企业文化 个人成长 技术管理

你还在这样使用MYSQL吗?

Geek_6rptuk

MySQL 数据库 数据库规范 数据库设计

保险知识梳理

魁拔

保险 生活质量

办公人员的 python 妙用——抽签结果提取

小匚

Python 远程办公

面试官竟然一直和我聊线程的启动和终止

Simon郎

Java 大数据 后端 多线程

【Howe 学 JAVA】Java 类集框架1——List集合

Howe

Java List 集合

对话 CTO | 听快看漫画 CTO 李润超讲重塑漫画产业的技术推动力

ONES 王颖奇

研发管理 CTO 动画 文化

游戏夜读 | 游戏设计需要天赋?

game1night

【Howe 学 JAVA】Java 类集框架2——Set 集合

Howe

Java 集合 set

C语言输入和输出

C语言技术网-码农有道

C语言 输入 输出

C语言常量、变量和关键字

C语言技术网-码农有道

C语言 常量 变量 关键字

“随大流”的你是不会成功的

小天同学

个人成长 思考 写作平台 感悟 坚持

深入理解MDL元数据锁

Simon

MySQL

前端开发的瓶颈与未来之路

keelii

node.js typescript ruby-on-rails 编程 大前端

物联网资产整合架构

老任物联网杂谈

物联网架构

OceanBase原理与实现分析

ElvinYang

自助设备系列——技术应用

孙苏勇

产品 行业资讯 智能设备

对话 CTO | 喜茶也有 CTO?听陈霈霖讲讲茶饮中的技术甜度

ONES 王颖奇

研发管理 CTO 零售

C语言if分支结构

C语言技术网-码农有道

C语言 C语言if分支结构

探寻融云多年领先的秘密:不断创新贴近开发者真实需求

DT极客

《Linux就该这么学》笔记(一)

编程随想曲

Linux

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