aioredis
asyncio (PEP 3156) Redis support
What it is and what it does
aioredis is an asyncio-based Redis client for Python that lets you interact with Redis servers using async/await syntax. It provides both low-level protocol APIs and high-level command wrappers, supporting features like connection pooling, pipelining, transactions (Multi/Exec), Pub/Sub messaging, Sentinel failover, ACL authentication, and Redis Streams. The library can use either the hiredis C parser (optional, for performance) or a pure-Python parser.
The package was designed to integrate cleanly with asyncio applications, allowing non-blocking Redis operations. It has been tested against Redis 5.0 and 6.0 and supports Python 3.6 through 3.10. However, the repository is now archived and unmaintained—the last release was in December 2021 and the last commit in February 2023—making it unsuitable for new projects without careful consideration of long-term support implications.
Use it for:
- Building async web applications (FastAPI, aiohttp) that need to cache data or manage sessions in Redis.
- Implementing real-time Pub/Sub messaging systems where multiple async tasks subscribe to and publish Redis channels.
- Running async background job queues or task workers that read from Redis Streams or lists.
- Connecting to Redis Sentinel clusters for automatic failover in high-availability deployments.
- Batching multiple Redis commands via pipelining to reduce network round-trips in async workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
An asyncio-based Redis client library providing both low-level and high-level APIs for connecting to and interacting with Redis servers.
No—not for new projects. While the package is stable and has low install friction, it is archived and abandoned with no maintenance since February 2023. The redis-py library now offers native async support, which is actively maintained and should be the default choice. Use aioredis only if you are maintaining legacy code already depending on it, and plan a migration path.
Install
aioredis on PyPI
pip
pip install aioredisuv
uv add aioredispoetry
poetry add aioredisInstalling aioredis
Before you install
Low install friction with only two lightweight runtime dependencies (async-timeout and typing-extensions). However, the package is archived and abandoned as of February 2023, with no maintenance since then—a significant concern for production use.
License in practice
MIT license is permissive and poses no restrictions on commercial or private use, modification, or redistribution.
Quickstart
import asyncio
import aioredis
async def main():
redis = await aioredis.create_redis_pool('redis://localhost')
await redis.set('key', 'value')
val = await redis.get('key')
redis.close()
await redis.wait_closed()
asyncio.run(main())
Requires a running Redis server (5.0 or 6.0 tested); hiredis is optional but recommended for performance.
Verify before relying
- Whether redis-py's async variant (redis[asyncio]) is now the recommended replacement for new projects.
- Current compatibility with Redis 7.0+ server versions beyond the tested 5.0 and 6.0.
- Whether the pure-python parser remains performant compared to hiredis on modern hardware.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — async-timeout, typing-extensions |
| Maintenance | abandoned — 1,691 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 2,076,321/month — #3,312 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aioredis-2.0.1-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
burner-redisRuns a Redis-compatible in-process database…
permissive · top 5,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
hiredishiredis wraps the C hiredis library to parse…
permissive · top 1,000 on PyPI
coredisAn async Redis client with full type hints,…
permissive · top 5,000 on PyPI
Redis-Sentinel-UrlParses redis:// and redis+sentinel:// URLs and…
permissive · top 15,000 on PyPI
valkeyPython client library for connecting to and…
permissive · top 5,000 on PyPI
aioredlockImplements the Redlock distributed lock…
permissive · top 15,000 on PyPI
channels-redisProvides Redis-backed channel layers for Django…
permissive · top 5,000 on PyPI
upstash-redisHTTP-based Redis client for Python that…
permissive · top 5,000 on PyPI
ytsaurus-clientProvides a Python client library for YTsaurus,…
permissive · top 15,000 on PyPI