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:
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 valoreInvece, puoi usare il nome chiave:
Imposta il valore L_Key_nameQuesto 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 usQuesto 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 usPuoi 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 CompressModifica il valore di Elenco-Compress-Depth in entrambi:
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!!