Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. redis-rs

redis-rs

NOASSERTIONRustredis-1.4.1

A high-level Redis, Valkey, and RESP-compliant database client library for Rust with flexible type conversion.

Visit WebsiteGitHubGitHub
4.2k stars683 forks0 contributors

What is redis-rs?

redis-rs is a Rust client library for Redis, Valkey, and any RESP-compliant database server. It provides high-level, type-safe access to Redis functionality through a flexible API with customizable type conversion, making Redis operations in Rust both powerful and ergonomic.

Target Audience

Rust developers building applications that require interaction with Redis, Valkey, or other RESP-compliant databases, particularly those needing async support, connection pooling, or advanced features like cluster compatibility and JSON integration.

Value Proposition

Developers choose redis-rs for its customizable type conversion via FromRedisValue and ToRedisArgs traits, comprehensive feature set including async support with tokio or smol, and flexibility that balances high-level ergonomics with low-level control for advanced use cases.

Overview

Redis library for rust

Use Cases

Best For

  • Building Rust applications that require type-safe, ergonomic interactions with Redis or Valkey databases.
  • Implementing async Redis clients in Rust using tokio or smol runtimes for non-blocking operations.
  • Developing applications that need Redis Cluster support for distributed data storage and high availability.
  • Integrating RedisJSON module functionality for storing and querying JSON data directly within Redis.
  • Securing Redis connections with TLS using native-tls or rustls, especially in cloud or enterprise environments.
  • Enabling token-based authentication with Azure Entra ID for Azure-hosted applications requiring dynamic credential management.

Not Ideal For

  • Applications built in languages other than Rust, where mature native clients like redis-py or node-redis offer better ecosystem integration.
  • Quick, interactive Redis debugging or scripting tasks that are better served by the Redis CLI or lightweight REPL tools without a full Rust compilation setup.
  • Embedded or resource-constrained environments with strict binary size limits, due to the library's feature-rich nature and optional dependency bloat.
  • Legacy systems relying on Redis versions older than 6.0, as compatibility is not tested and support may be limited.

Pros & Cons

Pros

Customizable Type Safety

Implements FromRedisValue and ToRedisArgs traits, allowing Redis operations to return results in user-defined types, ensuring compile-time type checks and reducing runtime errors.

Comprehensive Async Support

Offers optional async clients via tokio-comp or smol-comp features, with cheaply cloneable connections that are thread-safe, enabling efficient non-blocking I/O for high-concurrency applications.

Extensive Feature Set

Supports TLS with native-tls or rustls, Redis Cluster via cluster features, RedisJSON integration, and Azure Entra ID authentication, catering to enterprise and advanced use cases.

Flexible Connection Management

Provides sync connection pooling with r2d2 and async connections that are multiplexed and reusable, balancing performance and simplicity for different scaling needs.

Cons

WebAssembly Limitations

Async support is not enabled for WebAssembly targets, and builds are untested against databases, making it unreliable for browser-based or WASM-focused projects.

Complex TLS Configuration

Setting up TLS, especially with rustls, requires manual installation of crypto providers and specific feature flags, adding significant setup overhead compared to plug-and-play clients.

Feature Fragmentation

The library is split into numerous optional features (e.g., tokio-comp, smol-comp, various TLS backends), leading to dependency management complexity and a steeper learning curve.

Frequently Asked Questions

Quick Stats

Stars4,234
Forks683
Contributors0
Open Issues68
Last commit14 hours ago
CreatedSince 2013

Tags

#database-driver#async-rust#valkey#connection-pooling#redis-client#tls#redis-cluster#resp-protocol#rust-library

Built With

S
Smol
n
native-tls
s
serde-json
R
Rust
T
Tokio
r
rustls

Links & Resources

Website

Included in

Rust56.6k
Auto-fetched 5 hours ago

Related Projects

QdrantQdrant

Qdrant - High-performance, massive-scale Vector Database and Vector Search Engine for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/

Stars33,545
Forks2,520
Last commit9 hours ago
SurrealDBSurrealDB

A scalable, distributed, collaborative, document-graph database, for the realtime web

Stars32,748
Forks1,311
Last commit17 days ago
RustFSRustFS

🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.

Stars30,153
Forks1,326
Last commit7 hours ago
TursoTurso

A SQL database in Rust: SQLite-compatible, now also speaking Postgres (experimental). The LLVM of databases.

Stars23,381
Forks1,201
Last commit13 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub