On this page
Overview
go-redis is the official Redis client library for Go. It provides command APIs, automatic connection pooling, Pub/Sub, pipelines and transactions, Sentinel, Cluster, client-side caching, scripting, and credential providers.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Use standalone, Sentinel, and Cluster Redis through one Go client ecosystem
Client, failover/Sentinel, and Cluster configurations expose Redis commands together with Pub/Sub, transactions, and Lua scripting.
Sources: [2]
Best fit
Fits Go backends using Redis for caching, sessions, messaging, or coordination
It is useful when applications want an official client across standalone and clustered Redis deployments for caches, rate limiting, sessions, Pub/Sub, streams, and related backend workloads.
Sources: [2]
Before adoption
v9.23.0 raises the minimum to Go 1.26 and changes pipeline pooling defaults
The v9.23.0 go.mod requires Go 1.26. This release adds dedicated pipeline pools and sets AutoPipelineOptions.MaxBatchBytes to 128 KiB by default. Validate connection counts, memory, latency, and pipeline throughput under production-like load; PipelinePoolSize: -1 restores the previous single-pool behavior when needed.
Official sources
- [1]redis/go-redis — GitHub repository(2026-10-06)
- [2]go-redis v9.23.0 — README(2026-10-06)
- [3]go-redis v9.23.0 — go.mod(2026-10-06)
- [4]go-redis v9.23.0 release(2026-10-06)
- [5]go-redis BSD-2-Clause license(2026-10-06)
Supplemental curator note
The official Redis Go client covers standalone, Sentinel, and Cluster deployments in one ecosystem. Pooling, pipelining, timeouts, retries, credentials, and client-side caching directly affect performance and failure behavior, so validate them under representative load.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/redis/go-redis.git - 2
Enter the repository
cd go-redis - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
22,258 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 36
- Open PRs
- 49
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- go
- golang
- redis
- redis-client
- redis-cluster
- Stars
- 22,258
- Forks
- 2,604
- Watchers
- 253
- Open issues
- 31
- Contributors
- 392
- Owner type
- Organization
- Primary language
- Go
- License
- BSD-2-Clause
- Repository last updated
- Oct 6, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Bun4,984 Stars
2 shared tag(s) · 2 shared category(s) · Same language
add SQL-first query building and model mapping to Go's database/sql layer
Go - Neon23,173 Stars
2 shared tag(s) · 2 shared category(s)
Decouple PostgreSQL compute from storage for branching and elastic database workflows
Rust - redis-rs4,258 Stars
2 shared tag(s) · 2 shared category(s)
connect Rust applications to Redis and Valkey with synchronous or asynchronous clients
Rust - Spring Data Redis1,874 Stars
2 shared tag(s) · 2 shared category(s)
integrate Redis into Spring through templates, repositories, Pub/Sub, and reactive APIs
Java - golang-migrate18,954 Stars
2 shared tag(s) · 1 shared category(s) · Same language
apply versioned migrations in order from a CLI or Go library across multiple databases
Go - Sarama12,523 Stars
2 shared tag(s) · 1 shared category(s) · Same language
cover Kafka producers, consumer groups, administration, and transactions from Go
Go
Report incorrect information
Tell us if any listing information is incorrect or outdated.