Einleitung
Redis ist ein leistungsstarker In-Memory-Datenspeicher, der als Cache, Message Broker, Datenbank oder Warteschlange eingesetzt wird. Er unterstützt verschiedene Datenstrukturen wie Strings, Listen, Sets, Hashes und mehr. Für Python gibt es den offiziellen Client redis-py, der eine komfortable Schnittstelle zur Redis-Funktionalität bietet.
Redis-py ist der beliebteste und zuverlässigste Client für die Arbeit mit Redis in Python-Anwendungen. Die Bibliothek wird aktiv von der Community entwickelt und gepflegt und bietet eine einfache sowie intuitive API für die Interaktion mit dem Redis-Server.
Was ist die redis-py Bibliothek?
Redis-py ist die offizielle Python-Bibliothek für Redis, die alle Redis-Funktionen vollständig unterstützt. Die Bibliothek ist in reinem Python geschrieben und bietet sowohl eine synchrone als auch eine asynchrone Schnittstelle für die Arbeit mit Redis.
Hauptfunktionen von redis-py
Die Bibliothek bietet einen vollständigen Satz an Funktionen für die Arbeit mit Redis:
- Unterstützung aller Redis-Datentypen
- Transaktionen und Pipelines
- Pub/Sub-Funktionalität
- Unterstützung von Redis Sentinel und Clustern
- Asynchrone Arbeit via redis.asyncio
- Verbindungspooling für optimierte Leistung
- Automatische Wiederverbindung bei Verbindungsabbrüchen
Installation und Verbindung
Bibliothek installieren
pip install redis
Für die Installation mit zusätzlichen Abhängigkeiten:
pip install redis[hiredis] # Für verbesserte Leistung
Verbindung zu Redis herstellen
Basisverbindung zu Redis (Standardport 6379):
import redis
# Verbindung zu lokalem Redis
client = redis.Redis(host='localhost', port=6379, db=0)
# Verbindung mit Passwort
client = redis.Redis(host='localhost', port=6379, password='deinpasswort', db=0)
# Verbindung per URL
client = redis.from_url('redis://localhost:6379/0')
Verbindung prüfen
try:
response = client.ping()
print(f"Verbindung hergestellt: {response}") # True
except redis.ConnectionError:
print("Fehler bei der Verbindung zu Redis")
Redis-Grundlagen und wichtige Datentypen
Redis unterstützt fünf grundlegende Datentypen, die jeweils eigene Besonderheiten und Methoden haben:
Strings
Der einfachste Datentyp in Redis. Kann Text, Zahlen oder Binärdaten speichern.
Listen
Geordnete Sammlungen von Strings. Unterstützen das Hinzufügen von Elementen am Anfang und Ende.
Sets
Ungeordnete Sammlungen eindeutiger Strings. Unterstützen Operationen wie Schnittmenge und Vereinigung.
Hashes
Abbildungen zwischen String-Feldern und -Werten. Ideal zur Darstellung von Objekten.
Sorted Sets
Sets mit einer Bewertung für jedes Element. Die Elemente sind nach der Bewertung geordnet.
Wichtige Redis-Befehle mit redis-py
Arbeiten mit Strings
# Wert setzen und abrufen
client.set("user:name", "Max")
name = client.get("user:name").decode('utf-8')
# Setzen mit TTL
client.setex("session:123", 3600, "active") # 1 Stunde
# Arbeiten mit Zahlen
client.set("counter", 0)
client.incr("counter") # Um 1 erhöhen
client.incrby("counter", 5) # Um 5 erhöhen
client.decr("counter") # Um 1 verringern
Arbeiten mit Listen
# Elemente hinzufügen
client.lpush("tasks", "task1", "task2") # Am Anfang
client.rpush("tasks", "task3", "task4") # Am Ende
# Elemente abrufen
tasks = client.lrange("tasks", 0, -1) # Alle Elemente
first_task = client.lpop("tasks") # Erstes Element entfernen und zurückgeben
last_task = client. Auch in der Bibliothek
Maschinelles Lernen mit Java: Überblick über die wichtigsten Bibliotheken
E-Mail-Versand mit PHP: PHPMailer, SwiftMailer und mail() – vollständige Anleitung
Flyway Java: Vollständige Anleitung mit Beispielen