A fast, pipelined, and resilient Redis and Valkey client for Elixir with automatic reconnections and Pub/Sub support.
Redix is a Redis and Valkey client for Elixir that provides fast, reliable communication with Redis servers. It solves the need for a resilient driver that handles network errors, supports pipelining for performance, and offers Pub/Sub capabilities without wrapping Redis commands.
Elixir developers building applications that require robust Redis or Valkey integration, especially those needing features like automatic reconnections, Pub/Sub, or Sentinel support.
Developers choose Redix for its focus on speed and resiliency, pure Elixir implementation, and low-level design that avoids unnecessary abstractions while ensuring production-ready reliability.
Fast, pipelined, resilient Redis driver for Elixir. 🛍
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Configurable backoff ensures the client recovers from network errors automatically, making it resilient for production use as described in the 'Resiliency' section.
Supports sending multiple commands in one network round-trip via Redix.pipeline/2,3, reducing latency for batch operations as highlighted in the features.
Includes full Pub/Sub, SSL, and Redis Sentinel integration out of the box, covering a wide range of Redis use cases without extra dependencies.
Commands are expressed as lists of strings, matching Redis protocol while fitting naturally into Elixir code, avoiding unnecessary abstractions.
Does not wrap Redis commands, requiring developers to know raw command syntax and handle errors manually, which can increase boilerplate code.
Running tests requires Docker to spin up multiple Redis instances (for pub/sub and sentinel), adding setup complexity for local development and contributions.
While resilient, the documentation admits that users may need to implement custom pooling strategies for optimal performance in high-concurrency scenarios.