Abilita la compressione con Redis

Abilita la compressione con Redis

Server di dizionario remoto, o Redis in breve, è un database in memoria rapido che memorizza i valori in coppie di valore chiave. È utilizzato principalmente come meccanismo di memorizzazione nella cache per database come SQL e database di documenti.

Poiché Redis è un database in memoria, lo spazio utilizzato è fondamentale e deve essere fortemente monitorato. Una strategia per migliorare e ottimizzare le prestazioni della memoria per Redis è utilizzare la compressione.

Per impostazione predefinita, Redis non fornisce la compressione per eventuali dati archiviati. Quindi, le tecniche di compressione sono implementate sull'applicazione.

Discutiamo alcune tecniche che puoi utilizzare per ottimizzare le prestazioni della memoria in Redis.

Implementa un algoritmo di compressione

Poiché Redis non comprime i valori memorizzati, devi farlo prima di memorizzarli. Esistono diversi algoritmi di compressione per comprimere le stringhe prima di conservarle.

Tali algoritmi includono:

  1. Compressione LZO - molto veloce e fornisce velocità di decompressione più elevate.
  2. LZ4 - Efficiente di velocità e molto facile da integrare in applicazioni.
  3. Elegante - alti tassi di compressione/decompressione.

Usa nomi chiave più brevi

Sebbene gli sviluppatori dovrebbero favorire nomi più descrittivi rispetto a quelli brevi, l'utilizzo della memoria può salire rapidamente alle stelle se si dispone di una vasta raccolta di chiavi nel database.

Prendi sempre in considerazione l'uso di nomi chiave brevi per i dati del valore chiave per evitarlo.

Esempio:

Impostare questo valore del valore

Invece, puoi usare il nome chiave:

Imposta il valore L_Key_name

Questo riduce il numero di caratteri di Redis da archiviare per il tuo database.

Nomi dei campi di comprimere

Lo stesso caso sopra si può dire sui nomi dei campi. E ancora, usare un nome di campo più corto può salvare alcuni byte o kilobyte della tua memoria.

Quindi, considera l'uso di nomi di campi brevi per i dati Redis.

Un esempio è come mostrato:

127.0.0.1: 6379> hset user_info id 1 firstname moes lastname k country "Stati Uniti d'America"

Qui, possiamo salvare un po 'di memoria refactoring dei nomi dei campi come:

Hset user_info id 1 fname moes lname country us

Questo comprime i nomi dei campi e i valori.

Elenco d'uso invece di un hash

Un hash è composto da nomi dei campi e valori corrispondenti. Sebbene questo non sia un problema significativo, può essere problematico quando entrano in gioco migliaia di tipi di hash.

Per risolvere questo problema, puoi optare per un elenco come mostrato:

Hset user_info id 1 fname moes lname country us

Puoi convertire l'hash sopra in un elenco come:

Lpush ["fname", "moes", "lname", "k", "paese", "us"]

Evita gli script Dynamic Lua

Per risparmiare ancora più memoria, evita di utilizzare script Dynamic LUA che causano la crescita della cache. Più script carichi, più consumi molta memoria.

Abilita la compressione dell'elenco

Come accennato, Redis non comprime i valori memorizzati in esso. Questo include elementi all'interno di un elenco. Per valori di breve elenco, questo non è un problema. Tuttavia, su lunghi elenchi, può essere utile consentire la compressione.

Nel Redis.Conf File, Individua la riga:

sudo cat/etc/redis/redis.conf | Grep Elenco Compress
Elenco-Compress-Depth 0 // Modifica questo valore

Modifica il valore di Elenco-Compress-Depth in entrambi:

  1. 1 - comprime ogni nodo dell'elenco tranne la testa e la coda.
  2. 2 - non comprimere mai la testa o la testa-> o coda o coda-> prev
  3. 3 - Avvia la compressione dopo la testa-> Next e Tail->-Prev

Aggiorna la tua versione Redis

Un altro passo che puoi fare per migliorare l'utilizzo della memoria nel tuo server Redis è aggiornare la versione Redis.

Al momento della scrittura di questo tutorial, versione 4.0 (ultimo) viene fornito con le seguenti funzionalità.

Chiusura

Questa guida discute vari metodi e tecniche che puoi utilizzare per ottimizzare l'utilizzo della memoria nel cluster Redis. Tuttavia, tieni presente che non tutte le forme sono garantite al 100%.

Grazie per aver letto, ci vediamo nel prossimo!!