sql >> Base de Datos >  >> NoSQL >> Redis

Inserción masiva de Redis

Diría que está en el camino de la optimización prematura (que generalmente no es la mejor).

Cualquier lenguaje de secuencias de comandos con un cliente de Redis que admita canalización debería poder enviar al menos 50 000 comandos/s al servidor de Redis. El código será sencillo, sin necesidad de codificar manualmente el protocolo Redis. De acuerdo, el truco de la inserción masiva es más rápido, pero ¿realmente lo necesitas?

Ahora, si aún desea apegarse a la inserción masiva, debe codificar un comando Redis adecuado. El ejemplo que proporcionó es incorrecto por varias razones:

  • la cantidad de argumentos es incorrecta (su ejemplo debe comenzar con *3)

  • la longitud del último argumento es incorrecta (la longitud 1,2,34 es 6 bytes, no 5).

  • en el comando SADD, necesita un argumento por elemento del conjunto (es decir, para Redis 1,2,34 será un solo elemento, no tres).

El comando adecuado sería más bien algo como esto:

"*5\r\n$4\r\nSADD\r\n$2\r\n80\r\n$1\r\n1\r\n$1\r\n2\r\n$2\r\n34\r\n"

El protocolo Redis se describe aquí:http://redis.io/topics/protocol