Skip to content

Overview: Aerospike Rust client

Feature highlights

Execution models:

  • Async-first: Built for non-blocking IO, powered by Tokio by default, with optional support for async-std.
  • Sync support: Blocking APIs are available using a sync sub-crate for flexibility in legacy or mixed environments.

Advanced data operations:

  • Batch protocol: full support for read, write, delete, and UDF operations through the new BatchOperationAPI.
  • New query wire protocols: implements updated query protocols for improved consistency and performance.

Policy and expression enhancements:

  • Replica policies: includes support for Replica, including PreferRack placement.
  • Policy additions: new fields such as allow_inline_ssd, respond_all_keys in BatchPolicy, read_touch_ttl, and QueryDuration in QueryPolicy.
  • Rate limiting: supports records_per_second for query throttling.

Data model improvements:

  • Type support: adds support for boolean particle type.
  • New data constructs: returns types such as Exists, OrderedMap, UnorderedMap now supported for CDT reads.
  • Value conversions: implements TryFrom<aerospike::Value> for seamless type interoperability.
  • Infinity and wildcard: supports Infinity, Wildcard, and corresponding expression builders expressions::infinity() and expressions::wildcard().
  • Size expressions: adds expressions::record_size() and expressions::memory_size() for granular control.

See the changelog for more details.

What’s coming next?

We are working toward full functional parity with our other officially supported clients. Features on the roadmap include:

  • Partition queries
  • Distributed ACID transactions
  • Strong consistency
  • Full TLS support for secure, production-ready deployments

Ready to get started?

Quickstart

Check out the Aerospike client Quickstart for installation instructions and query examples.

Quickstart →

Best practices

Already familiar with the Rust client? The best practices guide can help you optimize for performance and reliability.

Best practices →

Error handling

Actionable errors with recovery suggestions. Know exactly what went wrong and how to fix it.

Error handling →

Usage examples

Want to dive straight into the DSL? We have usage examples for all the basic CRUD operations.

Usage examples →

Feedback

Was this page helpful?

What type of feedback are you giving?

What would you like us to know?

+Capture screenshot

Can we reach out to you?