Redis
 sql >> Database >  >> NoSQL >> Redis

Inserimento di massa di Redis

Direi che sei sulla strada dell'ottimizzazione prematura (che di solito non è la migliore).

Qualsiasi linguaggio di scripting con un client Redis che supporta il pipelining dovrebbe essere in grado di inviare almeno 50.000 comandi/s al server Redis. Il codice sarà semplice, senza la necessità di codificare manualmente il protocollo Redis. Certo, l'enorme trucco dell'inserto è più veloce, ma ne hai davvero bisogno?

Ora, se vuoi ancora attenerti all'inserimento massiccio, devi codificare un comando Redis corretto. L'esempio che hai fornito è sbagliato per diversi motivi:

  • il numero di argomenti è sbagliato (il tuo esempio dovrebbe iniziare con *3)

  • la lunghezza dell'ultimo argomento è errata (1,2,34 la lunghezza è 6 byte non 5).

  • nel comando SADD, è necessario un argomento per elemento del set (cioè per Redis 1,2,34 sarà un singolo elemento, non tre).

Il comando corretto preferirebbe essere qualcosa del genere:

"*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"

Il protocollo Redis è descritto qui:http://redis.io/topics/protocol