Erste Schritte mit Redis und Python
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
- Redis ist ein Hochgeschwindigkeits-In-Memory-Datenspeicher, der sich ideal für Caching und Echtzeitverarbeitung eignet.
- Die Python-Bibliothek
redis-py
vereinfacht die Integration von Redis in Python-Anwendungen. - Die Installation und Verbindung zu Redis mit Python erfordert nur minimalen Aufwand.
Redis ist ein leistungsstarker In-Memory-Key-Value-Store, der häufig für Caching, Echtzeit-Analysen und Message-Brokering verwendet wird. In Kombination mit Python wird er zu einem leistungsstarken Werkzeug für die Entwicklung skalierbarer und effizienter Anwendungen. Dieser Leitfaden führt in Redis ein und zeigt, wie man ihn mit Python über die Client-Bibliothek redis-py
verwendet. (Python Redis: A Beginner's Guide - DataCamp)
Was ist Redis?
Redis (Remote Dictionary Server) ist ein Open-Source-In-Memory-Datenstruktur-Store, der als Datenbank, Cache und Message Broker verwendet werden kann. Er unterstützt verschiedene Datenstrukturen wie Strings, Hashes, Listen, Sets und Sorted Sets. Redis ist bekannt für seine Geschwindigkeit und Flexibilität und eignet sich daher für eine Vielzahl von Anwendungen. (Python Redis: A Beginner's Guide - DataCamp)
Warum Redis mit Python verwenden?
Die Einfachheit und das umfangreiche Ökosystem von Python machen es zu einer ausgezeichneten Wahl für die Integration mit Redis. Die Verwendung von Redis mit Python ermöglicht es Entwicklern:
- Effiziente Caching-Mechanismen zu implementieren, um Anwendungen zu beschleunigen.
- Echtzeit-Datenverarbeitung und -Analysen zu verwalten.
- Skalierbare Systeme mit Funktionen wie Pub/Sub-Messaging und verteilter Sperrung zu erstellen. (Python Redis: A Beginner's Guide - DataCamp)
Redis einrichten
Redis Server installieren
Um loszulegen, müssen Sie Redis auf Ihrem System installiert haben. Sie können Redis mit verschiedenen Methoden installieren, abhängig von Ihrem Betriebssystem. Zum Beispiel unter macOS mit Homebrew:
brew install redis
Auf Linux-Systemen können Sie Ihren Paketmanager verwenden:
sudo apt-get update sudo apt-get install redis-server
Nach der Installation starten Sie den Redis-Server: (Python Redis: A Beginner's Guide - DataCamp)
redis-server
redis-py
Bibliothek installieren
Die redis-py
Bibliothek ist der offizielle Python-Client für Redis. Installieren Sie ihn mit pip: (ython redisRedis Simplified: A Concise Tutorial on Redis with Python, Beginner's Guide to Redis with Python - AskPython)
pip install redis
Für verbesserte Leistung können Sie es mit Hiredis-Unterstützung installieren: (redis/redis-py: Redis Python client - GitHub)
pip install "redis[hiredis]"
Verbindung zu Redis mit Python
So stellen Sie eine Verbindung zum Redis-Server mit Python her:
import redis # Verbindung zum Redis-Server herstellen r = redis.Redis(host='localhost', port=6379, db=0)
Sie können die Verbindung testen, indem Sie einen Wert setzen und abrufen: (Redis)
r.set('name', 'Alice') print(r.get('name')) # Ausgabe: b'Alice'
Um Antworten automatisch in Strings zu dekodieren: (redis/redis-py: Redis Python client - GitHub)
r = redis.Redis(host='localhost', port=6379, db=0, decode_responses=True) r.set('name', 'Alice') print(r.get('name')) # Ausgabe: Alice
Arbeiten mit Redis-Datenstrukturen
Strings
Strings sind der einfachste Redis-Datentyp. (ython redisRedis Simplified: A Concise Tutorial on Redis with Python)
r.set('language', 'Python') print(r.get('language')) # Ausgabe: Python
Hashes
Hashes sind Abbildungen zwischen String-Feldern und String-Werten, perfekt für die Darstellung von Objekten. (Beginner's Guide to Redis with Python - AskPython)
r.hset('user:1000', 'name', 'Alice') r.hset('user:1000', 'email', 'alice@example.com') print(r.hgetall('user:1000')) # Ausgabe: {'name': 'Alice', 'email': 'alice@example.com'}
Listen
Listen sind geordnete Sammlungen von Strings. (Beginner's Guide to Redis with Python - AskPython)
r.rpush('tasks', 'task1') r.rpush('tasks', 'task2') print(r.lrange('tasks', 0, -1)) # Ausgabe: ['task1', 'task2']
Sets
Sets sind ungeordnete Sammlungen eindeutiger Strings.
r.sadd('tags', 'python') r.sadd('tags', 'redis') print(r.smembers('tags')) # Ausgabe: {'python', 'redis'}
Sorted Sets
Sorted Sets sind wie Sets, aber jedes String-Element ist mit einem Score verbunden. (Beginner's Guide to Redis with Python - AskPython)
r.zadd('leaderboard', {'Alice': 100, 'Bob': 95}) print(r.zrange('leaderboard', 0, -1, withscores=True)) # Ausgabe: [('Bob', 95.0), ('Alice', 100.0)]
Erweiterte Funktionen
Pipelines
Mit Pipelines können Sie mehrere Befehle zusammenfassen, um die Anzahl der Roundtrips zwischen Client und Server zu reduzieren. (Beginner's Guide to Redis with Python - AskPython)
pipe = r.pipeline() pipe.set('foo', 'bar') pipe.set('baz', 'qux') pipe.execute()
Pub/Sub
Redis unterstützt Publish/Subscribe-Messaging-Paradigmen.
pubsub = r.pubsub() pubsub.subscribe('channel1') # In einem separaten Thread oder Prozess r.publish('channel1', 'Hello, Redis!')
Transaktionen
Redis-Transaktionen stellen sicher, dass eine Gruppe von Befehlen atomar ausgeführt wird. (Beginner's Guide to Redis with Python - AskPython)
with r.pipeline() as pipe: while True: try: pipe.watch('balance') balance = int(pipe.get('balance')) if balance >= 50: pipe.multi() pipe.set('balance', balance - 50) pipe.execute() break else: pipe.unwatch() break except redis.WatchError: continue
Bewährte Verfahren
- Verwenden Sie Verbindungspools: Verwalten Sie mehrere Verbindungen effizient mit Redis-Verbindungspools.
- Ablaufzeit festlegen: Verwenden Sie den Key-Ablauf, um veraltete Daten zu vermeiden.
- Ausnahmen behandeln: Implementieren Sie eine ordnungsgemäße Fehlerbehandlung für Netzwerkprobleme und Befehlsfehler.
- Leistung überwachen: Überwachen Sie regelmäßig die Redis-Leistungsmetriken, um Engpässe zu identifizieren. (redis/redis-py: Redis Python client - GitHub, Beginner's Guide to Redis with Python - AskPython)
Fazit
Die Integration von Redis mit Python bietet eine robuste Lösung für die Entwicklung von Hochleistungsanwendungen. Egal, ob Sie Caching, Echtzeit-Analysen oder Messaging-Systeme implementieren, Redis bietet die Tools, die Sie benötigen, um die Effizienz und Skalierbarkeit Ihrer Anwendung zu verbessern. (Beginner's Guide to Redis with Python - AskPython, Python Redis: A Beginner's Guide - DataCamp)
Referenzen
- DataCamp: Python Redis: A Beginner's Guide
- Redis Official Documentation
- redis-py GitHub Repository
- AskPython: Beginner's Guide to Redis with Python
FAQs
Verwenden Sie einen Paketmanager wie Homebrew (brew install redis
) oder APT (sudo apt-get install redis-server
).
Der offizielle Client ist redis-py
, den Sie mit pip install redis
installieren können.
Es ermöglicht schnellen Datenzugriff, Caching und Echtzeit-Messaging mit minimalem Overhead.
We are Leapcell, your top choice for hosting backend projects.
Leapcell is the Next-Gen Serverless Platform for Web Hosting, Async Tasks, and Redis:
Multi-Language Support
- Develop with Node.js, Python, Go, or Rust.
Deploy unlimited projects for free
- pay only for usage — no requests, no charges.
Unbeatable Cost Efficiency
- Pay-as-you-go with no idle charges.
- Example: $25 supports 6.94M requests at a 60ms average response time.
Streamlined Developer Experience
- Intuitive UI for effortless setup.
- Fully automated CI/CD pipelines and GitOps integration.
- Real-time metrics and logging for actionable insights.
Effortless Scalability and High Performance
- Auto-scaling to handle high concurrency with ease.
- Zero operational overhead — just focus on building.
Explore more in the Documentation!
Follow us on X: @LeapcellHQ