On this page
Overview
redis-py is the Python client for Redis. It supports standard connections, connection pooling, asyncio, Redis Cluster, Sentinel, Pub/Sub, pipelines, and broad Redis command coverage.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Run Redis commands through standard clients and connection pools
redis.Redis exposes commands such as GET and SET, while clients use connection pools internally. Applications can share explicit ConnectionPool instances and batch commands with pipelines.
Sources: [2]
Best fit
Fits Python backends that use Redis for cache, sessions, queues, or short-lived state
It is a strong fit when cache, rate limits, sessions, queue metadata, or other short-lived state belongs in Redis and both synchronous and asynchronous application code should share one client ecosystem.
Sources: [2]
Before adoption
redis-py 8.1.0 requires Python 3.10+; review RESP behavior and server compatibility
redis-py 8.1.0 requires Python 3.10 or newer, and current releases target Redis 7.2 and newer. Version 8.x uses RESP3 on the wire by default while preserving legacy Python response shapes, so new applications should choose a response-shape policy and regression-test command results during upgrades.
Official sources
- [1]redis/redis-py — GitHub repository(2026-10-06)
- [2]redis-py 8.1.0 — README(2026-10-06)
- [3]redis-py 8.1.0 — pyproject.toml(2026-10-06)
- [4]redis-py 8.1.0 release(2026-10-06)
- [5]redis-py MIT license(2026-10-06)
Supplemental curator note
redis-py is a standard client choice for Python applications using Redis for cache and short-lived state. With 8.x, explicitly review response shapes and failover behavior when upgrading existing Cluster or Sentinel deployments.
Try it in 3 steps
- 1
Install redis-py 8.1.0
Pin the reviewed stable release. Python 3.10 or newer is required.
python -m pip install "redis==8.1.0" - 2
Start Redis on localhost
Use the same container startup command documented in the official README and keep the verification endpoint on localhost.
docker run --rm -p 6379:6379 redis:latest - 3
Run SET and GET
Write and read one temporary key, then delete it after confirming connectivity.
python - <<'PY' import redis r = redis.Redis(host='127.0.0.1', port=6379, db=0) assert r.set('oss-tanbou:redis-py', 'ok') print(r.get('oss-tanbou:redis-py')) r.delete('oss-tanbou:redis-py') PY
Growth
Growth trends · Last 30 days
13,648 Stars
Trend data is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- python
- redis
- redis-client
- redis-cluster
- redis-py
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- douyin-downloader12,192 Stars
2 shared tag(s) · 1 shared category(s) · Same language
save Douyin profile posts and manage files with download history
Python - Baserow6,088 Stars
2 shared tag(s) · 1 shared category(s) · Same language
Connect spreadsheet-style business data to applications, automation, and dashboards
Python - Elasticsearch Python Client4,390 Stars
2 shared tag(s) · 1 shared category(s) · Same language
connect Python applications to Elasticsearch with the official client
Python - sqlmap38,611 Stars
2 shared tag(s) · Same language
automate SQL injection testing for explicitly authorized web applications
Python - Supabase111,098 Stars
1 shared tag(s) · 2 shared category(s)
Build on Postgres with integrated Auth, REST/GraphQL APIs, Realtime, Storage, and Functions
TypeScript - DBeaver51,964 Stars
1 shared tag(s) · 2 shared category(s)
operate many database systems from one desktop SQL workspace
Java
Report incorrect information
Tell us if any listing information is incorrect or outdated.