OSS探訪GitHubでログイン

同期・非同期・Cluster対応を一つのAPIで扱うPython向けRedisクライアント

OSS規模スコア 302.0OSS健全度 100
スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
13,648
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/10/05
ページ内ナビ

概要

redis-pyはPython向けのRedisクライアントです。通常接続、接続プール、asyncio、Redis Cluster、Sentinel、Pub/Sub、Pipelineなどを扱い、Redisのコマンド群をPythonから利用できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

通常接続と接続プールからRedisコマンドを実行する

redis.RedisからGET/SET等のRedisコマンドを呼び出せます。各clientは接続プールを利用し、明示的なConnectionPool共有やPipelineによる複数commandのまとめ実行も可能です。

出典:[2]

asyncio・Cluster・Sentinel・Pub/Subへ同じlibraryから広げる

asyncio client、Cluster接続、Sentinel、Pub/Subなどを同じpackageで利用できます。8.1.0ではasyncio側にもmaintenance notification対応が追加され、standalone/clusterの保守通知を扱えるようになりました。

出典:[2][4]

向いている用途

cache・session・queue周辺でRedisを直接使うPython backendに向く

cache、rate limit、session、queue metadata、短期stateなどをRedisへ保存し、同期・非同期のどちらからも同じclient ecosystemを使いたい場合に適します。

出典:[2]

導入前の確認

8.1.0はPython 3.10以上。RESP互換性とRedis server versionを確認する

redis-py 8.1.0はPython 3.10以上を要求し、最新系はRedis 7.2以降をsupport対象とします。8.0以降はwire上でRESP3を既定利用しつつlegacy response互換を維持するため、新規projectではresponse shapeの方針を明示し、upgrade時にcommand resultを回帰確認してください。

出典:[2][3]

参考にした公式資料

  1. [1]redis/redis-py — GitHub repository(2026-10-06)
  2. [2]redis-py 8.1.0 — README(2026-10-06)
  3. [3]redis-py 8.1.0 — pyproject.toml(2026-10-06)
  4. [4]redis-py 8.1.0 release(2026-10-06)
  5. [5]redis-py MIT license(2026-10-06)
編集部からの補足

Redisをcacheや短期stateに使うPython applicationでは標準的なclient候補です。8.xではRESP3のwire defaultとresponse互換layerがあるため、既存applicationのupgradeでは返却型とCluster/Sentinelのfailover挙動を先に確認すると安全です。

3ステップで試す

  1. 1

    redis-py 8.1.0を導入する

    確認対象の安定版を固定して導入します。Python 3.10以上が必要です。

    python -m pip install "redis==8.1.0"
  2. 2

    localhostにRedisを起動する

    公式READMEと同じRedis container起動方法です。localhostの6379番portだけを検証に使います。

    docker run --rm -p 6379:6379 redis:latest
  3. 3

    SET/GETを実行する

    一時keyをSET/GETして接続を確認し、最後に削除します。

    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
公式READMEで確認

成長

成長の推移 · 直近30日

13,648 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • python
  • redis
  • redis-client
  • redis-cluster
  • redis-py
Stars
13,648
Forks
2,768
Watchers
313
Open Issues
90
Contributors
423
所有者種別
Organization
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/10/05

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
redis-py 8.1.0とは?Python Redis Clientの特徴 | OSS探訪