Overview: Aerospike Rust client
For the complete documentation index see: llms.txt
All documentation pages available in markdown.
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
BatchOperation. - 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_keysinBatchPolicy,read_touch_ttl, andQueryDurationinQueryPolicy. - Rate limiting: supports
records_per_secondfor query throttling. - Circuit breaker: per-node error-rate limiting with
ClientPolicy.max_error_rateanderror_rate_window. - Compression: optional wire compression with
compression_thresholdon policy types.
Data model improvements
- Type support: adds support for boolean particle type.
- New data constructs: returns types such as
Exists,OrderedMap,UnorderedMapnow supported for CDT reads. - Value conversions: implements
TryFrom<aerospike::Value>for seamless type interoperability. - Infinity and wildcard: supports
Infinity,Wildcard, and corresponding expression buildersexpressions::infinity()andexpressions::wildcard(). - Size expressions: adds
expressions::record_size()andexpressions::memory_size()for granular control.
Transactions and batching (3.0.0)
- Multi-record transactions (MRT):
aerospike::txnAPIs for distributed ACID workloads. See Transactions. - Batch streaming:
Client::batch_foreachfor per-row batch callbacks. See Batch operations.
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:
- Strong consistency improvements
Ready to get started?
Quickstart
Check out the Aerospike client Quickstart for installation instructions and query examples.
Best practices
Already familiar with the Rust client? The best practices guide can help you optimize for performance and reliability.
Error handling
Actionable errors with recovery suggestions. Know exactly what went wrong and how to fix it.
Usage examples
Want to dive straight into the DSL? We have usage examples for all the basic CRUD operations.