Redis Pipelining

Redis Pipelining

Redis Pipelining si riferisce a una funzione che consente di inviare più comandi al server Redis in una sola go. Invece di inviare un comando e ricevere immediatamente una risposta, Pipelining ti consentirà di creare un'esecuzione del comando batch ed eseguirli sul server contemporaneamente.

Lo scopo principale del pipelining è migliorare le prestazioni del protocollo e Redis. Inoltre, poiché tutti i comandi sono organizzati per la prima volta sul lato client, può ridurre il tempo di andata e ritorno richiesto per il client per inviare una richiesta, il server per elaborarla e restituire una risposta al client.

Ad esempio, supponiamo che ogni query richieda circa 100 millisecondi. Quindi, se stai eseguendo 1000 query e aspetti una risposta, ci vorrebbero 100 * 1000 per elaborarle tutte.

Tuttavia, usando il pipelining, puoi allineare tutte le query in una grande "pila" e dirlo al server, eccoti qui.

Ciò significa, invece di 100 * 1000, riduci il TTL a quello di una singola query.

Esempio di Redis Pipelining

Pipelining è una funzione diffusa ed è supportata da tutte le versioni del server Redis. Un esempio di comando della pipeline è come mostrato:

$ (echo -en "Auth Password predefinita \ r \ nping \ r \ nping \ r \ nset tasto Valore \ r \ nget Key \ r \ nincr newkey \ r \ nincr NewKey"; sleep 1) | NC Localhost 6379

In questo caso, iniziamo autenticando il server Redis e eseguendo il ping per verificare se il server è attivo. Quindi impostiamo la coppia di valore chiave ed eseguiamo le operazioni increche su una nuova chiave. Dormiamo per 1 secondo e passiamo l'input tramite netcat.

Le domande sopra devono restituire:

+OK
+Pong
+Pong
+OK
$ 5
valore
: 1

Conclusione

Questo tutorial mostra come utilizzare Redis Pipelining per eseguire comandi in un ordine batch. Questo può aiutare a ridurre il TTL per le tue domande.

Ulteriori informazioni qui.