Hiredis-PY

Extensión de Python que envuelve al alojamiento
Descargar ahora

Hiredis-PY Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • BSD License
  • Precio:
  • FREE
  • Nombre del editor:
  • Pieter Noordhuis
  • Sitio web del editor:
  • https://github.com/pietern/

Hiredis-PY Etiquetas


Hiredis-PY Descripción

Hiredis-Py Python Módulo que envuelve el código de análisis del protocolo en alquiler. Está dirigido a acelerar la posibilidad de analizar las respuestas múltiples a granel.Intallhiredis-PY está disponible en PYPI, y se puede instalar con: Easy_Install, el módulo HIREDISUSUDISHE HIREDISHISHISHE, contiene la clase de lector. Esta clase es responsable de analizar las respuestas de la transmisión de datos que se leen de una conexión REDIS. No contiene funcionalidad para manejar la clase Lector de Lector de I / O.Reply, tiene dos métodos que se utilizan al analizar las respuestas desde un flujo de datos. Lector.feed toma un argumento de cadena que se adjunta al búfer interno. Reader.gets Lee este búfer y devuelve una respuesta cuando el búfer contiene una respuesta completa. Si una sola llamada para alimentar contiene múltiples respuestas, se debe llamar varias veces para extraer todas las respuestas. Ejemplo: >>> lector = hircedis.reader () >>> lector.feed ("$ 5 \ r \ nhello \ r \ n ") >>> lector.gets () 'Hola' cuando el búfer no contiene una respuesta completa, se devuelve FALSO. Esto significa que se necesita datos adicionales y se debe volver a llamar a la alimentación antes de volver a llamar, vuelva a llamar: >>> lector.feed ("* 2 \ r \ n $ 5 \ r \ nhello \ r \ n") >>> lector.gets () Falso >>> lector.feed ("$ 5 \ r \ nworld \ r \ n") >>> lector.gets () unicodehiredis.reader puede decodificar datos a granel a cualquier python de codificación apoyos. Para hacerlo, especifique la codificación que desea usar para decodificar las respuestas al inicializarla: >>> Reader = Hiredis.Reader (codificación = "UTF-8") >>> lector.feed ("$ 3 \ r \ n \ xe2 \ x98 \ x83 \ r \ n ") >>> lector.gets () U'☃ 'Cuando los datos a granel en una respuesta no pudieron decodificarse correctamente utilizando la codificación especificada, se devolverá como una cadena simple. Cuando no se puede encontrar la codificación, se recaudará un lookuperror después de que las llamadas reciban la primera respuesta con los datos a granel (idénticos a lo que haría el método de Unicode de Python). Aderlor MANIFICACIÓN Cuando se produce un error de protocolo (debido a múltiples hilos utilizando el mismo zócalo, o Alguna otra condición que cause un flujo corrupto), se eleva el error Hircedis.ProtocolError. Debido a que el búfer se lee de manera perezosa, solo se elevará cuando se llama se llama y la primera respuesta en el búfer contiene un error. No hay forma de recuperarse de un Estado de protocolo defectuoso, por lo que cuando esto suceda, los datos de alimentación de código de E / S a Lector probablemente deberían reconectarse. Puede responder con las respuestas de error (-ERR ...). Para estas respuestas, se devuelve la clase de error personalizada Hiredis.ReplyError, pero no aumentada. Cuando se deben usar otros tipos de errores (por lo que el código existente no tiene que cambiar sus excepciones de cláusulas), el lector se puede inicializar con las palabras clave ProtocolError y ReplyError . Estas palabras clave deben contener una clase que es una subclase de excepción. Cuando no se proporciona, el lector utilizará los tipos de error predeterminados. El repositorio de BenchmarksThe contiene un script de evaluación comparativa en el directorio de referencia, que utiliza GEVENT para tener E / S de no bloqueo y Redis-Py para manejar conexiones. Estos puntos de referencia se realizan con una versión parcheada de REDIS-PY que utiliza Hircedis-PY cuando está disponible. Todos los puntos de referencia se realizan con 10 conexiones concurrentes. Establezca el valor de la tecla + Obtenga la tecla Redis-PY: 11.76 KOPS REDIS-PY con HIREDIS-PY: 13.40 Mejora de KOPS: 1.1xlist Entradas en las siguientes pruebas son 5 bytes. Lrib LIST 09: REDIS-PY: 4.78 KOPS REDIS-PY con HIREDIS-PY: 12.94 KOPS MEJORA: 2.7x LISTA DE RANGE 099: REDIS-PY: 0,73 KOPS REDIS-PY con HIREDIS-PY: 11.90 KOPS Mejora: 16.3x LISTA DE LRANGE 0999: REDIS-PY: 0.07 KOPS REDIS-PY con HIREDIS-PY: 5.83 Mejora de KOPS: 83.2x La mejora de la intensidad de gráficos para un set simple / obtener es mínimo, pero la página de inicio de la laproducida


Hiredis-PY Software relacionado