A high-performance Go Redis client with auto pipelining, server-assisted client-side caching, and support for Redis modules.
Rueidis is a high-performance Go client library for Redis that implements auto pipelining and server-assisted client-side caching to maximize throughput and reduce latency. It provides a type-safe command builder and supports advanced Redis features like Pub/Sub, Lua scripting, and Redis modules, making it suitable for demanding production environments.
Go developers building high-throughput applications that rely on Redis for caching, real-time messaging, or data storage, especially those needing advanced performance optimizations like client-side caching and auto pipelining.
Developers choose Rueidis for its superior performance over alternatives like go-redis, achieving up to 14x higher throughput in benchmarks, along with built-in support for client-side caching, OpenTelemetry, and a developer-friendly API that reduces boilerplate.
A fast Golang Redis client that supports Client Side Caching, Auto Pipelining, RDMA, etc.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Concurrent non-blocking commands are automatically pipelined, achieving up to 14x higher throughput than go-redis in local benchmarks, as shown in comparative graphs.
Built-in client-side caching with server-driven invalidation dramatically improves read latency and throughput, with benchmarks showing near-replica performance inside the application.
Supports Redis Cluster, Sentinel, Pub/Sub, Streams, and modules like RedisJSON and RediSearch, covering advanced use cases without additional libraries.
Type-safe command builder with IDE auto-completion reduces boilerplate and errors, as illustrated in the animated GIF from the README.
Each connection allocates ring buffers and 0.5 MiB read/write buffers by default, which can be prohibitive in memory-sensitive environments, requiring manual tuning.
Users must manually select the correct parser for each Redis response type, leading to potential parsing errors if mismatched, as warned in the command cheatsheet.
Commands are recycled to a sync.Pool by default, requiring explicit Pin() to reuse, which adds cognitive load and risk of misuse in multi-step operations.
rueidis is an open-source alternative to the following products: