Gehiredis-Py

Python-Verlängerung, die sich verwickelt
Jetzt downloaden

Gehiredis-Py Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • BSD License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Pieter Noordhuis
  • Website des Verlags:
  • https://github.com/pietern/

Gehiredis-Py Stichworte


Gehiredis-Py Beschreibung

Das MAIDIS-PY-Python-Modul, das Protokoll-Analyse-Code in HINEDIS verpackt. Es ist darauf auszielen, das Analysieren von Multi-Bulk Replies zu beschleunigen. Diese Klasse ist für Analyse-Antworten aus dem Datenstrom, das aus einer RediS-Verbindung gelesen wird, verantwortlich. Es enthält keine Funktionalität, um die E / A.Reply-Parserthe-Reader-Klasse zwei Methoden aufweist, die verwendet werden, wenn Parsing von einem Datenstrom antwortet. Reader.feed nimmt ein String-Argument, das an den internen Puffer angehängt ist. Reader.gets liest diesen Puffer und gibt eine Antwort zurück, wenn der Puffer eine vollständige Antwort enthält. Wenn ein einzelner Anruf zum Feed mehrere Antworten enthält, sollten Sie mehrmals als mehrmals aufgerufen werden, um alle Antworten zu extrahieren ") >>> reader.gets () 'Hallo'Wenner, der der Puffer keine vollständige Antwort enthält, ruft false zurück. Dies bedeutet, dass zusätzliche Daten benötigt werden, und Feed sollte erneut aufgerufen werden, bevor er erneut ruft: >>> reader.feed ("* 2 \ r \ n $ 5 \ r \ nhello \ r \ n") >>> reader.gets () False >>> reader.feed ("$ 5 \ r \ nWorld \ r \ n") >>> reader.gets () UnicodeHiredis.Reader kann Massendaten an jeden Codier-Python decodieren Unterstützt. Geben Sie dazu die Codierung an, die Sie für die Dekodierung von Antworten verwenden möchten, wenn Sie ihn initialisieren: >>> Reader = hedis.Reader (codierung = "UTF-8") >>> reader.feed ("$ 3 \ r \ n \ xe2) \ x98 \ x83 \ r \ n ") >>> reader.gss () u''Wenne-Bulk-Daten in einer Antwort konnten nicht ordnungsgemäß mit der angegebenen Kodierung decodiert werden, er wird als einfache Zeichenfolge zurückgegeben. Wenn die Kodierung nicht gefunden werden kann, wird ein LookUperror angehoben, nachdem die Anrufe für die erste Antwort mit Massendaten getroffen wird (identisch mit der Unicode-Methode von Python) .Error HandlingWenn ein Protokollfehler auftritt (aufgrund mehrerer Fäden mit derselben Buchse, oder Einige andere Bedingung, die einen beschädigten Stream verursacht), wird der Fehler hedis.protocolError erhöht. Da der Puffer auf faule Mode gelesen wird, wird es nur angehoben, wenn es aufgerufen wird, und die erste Antwort im Puffer enthält einen Fehler. Es gibt keine Möglichkeit, aus einem fehlerhaften Protokollzustand wiederherzustellen. Wenn dies geschieht, sollten die E / A-Code-Förderdaten an den Reader wahrscheinlich erneut zusammenschließen.redis kann mit Fehlerantworten (-r ...) antworten. Für diese Antworten wird die benutzerdefinierte Fehlerklasse HIDIS.ReplyError zurückgegeben, aber nicht erhöht . Diese Keywords sollten eine Klasse enthalten, die eine Unterklasse der Ausnahme ist. Wenn nicht bereitgestellt, wird der Reader die Standard-Fehlertypen verwenden.BenchMarkSthe-Repository enthält ein Benchmarking-Skript im Benchmark-Verzeichnis, das nachdem, dass er nicht blockierende E / A- und Redis-PY-Anschlüsse aufweist, um Verbindungen zu behandeln. Diese Benchmarks erfolgen mit einer gepatchten Version von Redis-Py, die HEDIDIS-PY verwendet, wenn er verfügbar ist. Alle Benchmarks erfolgen mit 10 gleichzeitigen Verbindungen. Set-Schlüsselwert + Get-Taste Redis-Py: 11.76 KOPS REDIS-PY MIT STREDIS-PY: 13.40 KOGS-Verbesserung: 1.1xList-Einträge in den folgenden Tests sind 5 Byte. LRAVANGE LIST 09: Redis-PY: 4.78 KOPS REDIS-PY MIT HAEDIS-PY: 12.94 KOPS-Verbesserung: 2.7x lrange Liste 099: redis-py: 0,73 kops redis-py mit hedis-py: 11.90 kops verbesserung: 16.3x Lrange Liste 0999: redis-py: 0.07 kops redis-py mit hedis-py: 5.83 kops verbesserung: 83.2xthrough-Verbesserung für einfaches Set / Get ist minimal, aber die Homepage des Laprodukts


Gehiredis-Py Zugehörige Software