Datenbank: Python-Client redis-py 4.1 bringt Support für weitere Redis-Module

Der Python-Client für die Datenbank Redis lässt sich nun mit weiteren Modulen wie RedisJSON nutzen. Auch nahezu alle Befehle aus Redis 6.2 sind mit an Bord.

In Pocket speichern vorlesen Druckansicht

(Bild: Shutterstock.com/Kenishirotie)

Lesezeit: 2 Min.
Inhaltsverzeichnis

Redis hat redis-py 4.1 veröffentlicht. Der Anbieter der gleichnamigen In-Memory-Datenbank Redis stellt damit ein Python-Interface für den Redis-Key-Value-Store bereit. Bereits seit 2018 ist der ehemals separate Python-Client in die Datenbank integriert. Das aktuelle Release bietet neben einer überarbeiteten Struktur mit Fokus auf Python 3.6 und der Nutzungsmöglichkeit mit Python 3.10 neue Features wie einen erweiterten Modul-Support.

Nachdem die Vorversion redis-py 4.0 erstmals die Verwendung mit Redis-Modulen erlaubt hatte, erweitert das aktuelle Release den Support auf RedisJSON, RediSearch, RedisTimeSeries, RedisGraph und RedisBloom. Das Redis-Team zeigt, wie sich JSON-Daten mit JSON-spezifischen Befehlen speichern und abrufen lassen:

### STORING and RETRIEVING JSON
import redis
r = redis.Redis()
myDoc = {'hello', 'world', 'colours': ['red', 'blue', 'green'], 'hmm': {'hello': 'again'}}
r.json().set('colors', '.', myDoc)
r.json().get('colors')

Auch das Abrufen mehrerer Keys aus Dokumenten wie dem obigen myDoc ist möglich:

### FETCHING ALL KEYS NAMED �hello� from the JSON document
r.json().get('colors', '$..hello')

Zudem ist die Kombination der Fähigkeiten von RedisJSON und RediSearch nun auch im Python-Client möglich.

Die letzte Redis-Version 6.2 brachte neben einer Neuausrichtung auf die Community einige neue Befehle. redis-py 4.1 fügt über 30 neue Befehle zu seinem Repertoire hinzu und besitzt damit annähernd die volle Bandbreite der Befehle aus Redis 6.2. Dazu zählen etwa GETEX, CLIENT INFO und CLIENT KILL. Auch die Verwendung mit der verteilten Redis-Implementierung Redis Cluster ist in redis-py 4.1 möglich.

Künftig soll sich redis-py auch mit weiteren Modulen wie RedisAI nutzen lassen. Die für Redis 7 geplanten RESP3-Funktionen sind für den Python-Client ebenso geplant wie ein verbessertes Developer-Tooling, um ein Mitwirken daran zu vereinfachen.

Bei einem Upgrade von redis-py sind laut Entwicklungsteam keine Kompatibilitätsprobleme zu erwarten. Der Client steht via PyPI (Python Package Index) zum Download bereit und erfordert Python 3.6 oder höher sowie einen laufenden Redis-Server.

Alle weiteren Informationen zu redis-py 4.1 sind der Ankündigung zu entnehmen.

(mai)