Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Inserção em massa do Redis


Eu diria que você está no caminho da otimização prematura (que geralmente não é a melhor).

Qualquer linguagem de script com um cliente Redis compatível com pipeline deve ser capaz de enviar pelo menos 50 mil comandos/s para o servidor Redis. O código será direto, sem a necessidade de codificar manualmente o protocolo Redis. É verdade que o truque de inserção massiva é mais rápido, mas você realmente precisa dele?

Agora, se você ainda quiser manter a inserção massiva, precisará codificar um comando Redis adequado. O exemplo que você forneceu está errado por vários motivos:

  • o número de argumentos está errado (seu exemplo deve começar por *3)

  • o comprimento do último argumento está errado (1,2,34 comprimento é 6 bytes e não 5).

  • no comando SADD, você precisa de um argumento por item do conjunto (ou seja, para Redis 1,2,34 será um único item, não três).

O comando adequado seria algo assim:
"*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"

O protocolo Redis é descrito aqui:http://redis.io/topics/protocol