logo redis.
Di recente, il team dietro il sistema di gestione di database NoSQL Redis ha annunciato la disponibilità generale di Redis 8.4 . Questa nuova versione non è un semplice aggiornamento incrementale, ma ridefinisce le capacità del motore per adattarsi all'era dell'Intelligenza Artificiale, introducendo strumenti nativi per le applicazioni moderne e ottimizzazioni delle prestazioni che riducono drasticamente il consumo di risorse.
Redis 8.4 si concentra su tre pilastri fondamentali: l'introduzione della ricerca ibrida unificata , il miglioramento delle prestazioni tramite l'utilizzo di I/O multi-thread e una gestione della memoria più efficiente per le strutture JSON.
Nuove funzionalità chiave di Redis 8.4
In questa nuova versione di Redis 8.4, una delle novità più significative è l' aggiunta del comando FT.HYBRID . In precedenza, la combinazione della ricerca vettoriale con la ricerca full-text richiedeva processi complessi e frammentati; ora, Redis 8.4 implementa una ricerca ibrida che unisce le funzioni full-text e vettoriali in un'unica query . Ciò consente agli sviluppatori di ottenere risultati che tengono conto sia delle corrispondenze dirette delle parole chiave sia della similarità semantica, il tutto senza sacrificare accuratezza o prestazioni, facilitando notevolmente la creazione di contesti di alta qualità per i sistemi di intelligenza artificiale.
Gli sviluppatori affermano che, grazie alle nuove ottimizzazioni, le prestazioni delle tipiche applicazioni di caching sono migliorate del 30% per carichi di lavoro standard. Ma è nei sistemi con un elevato volume di query simultanee che questa versione dà il meglio di sé. Implementando l'I/O multi-thread per le query distribuite, si osservano incrementi prestazionali fino a 4.7 volte superiori nelle operazioni di ricerca , insieme a una drastica riduzione della latenza, eliminando i colli di bottiglia che si verificavano in precedenza nei cluster di grandi dimensioni sotto stress.
Ottimizzazione della memoria e strutture JSON
Un altro obiettivo chiave di questa nuova versione è stato l'efficienza delle risorse. Gli sviluppatori hanno ridotto significativamente il consumo di memoria durante l'archiviazione di stringhe di piccole dimensioni in strutture JSON , ottenendo un risparmio del 37% negli array con elementi fino a 7 byte. Inoltre, è stata ottimizzata l'archiviazione di array numerici omogenei. Ora, il tipo di dati viene memorizzato una sola volta per l'intero array anziché essere ripetuto per ogni elemento, con una conseguente riduzione della memoria compresa tra il 50% e il 92%, a seconda del tipo di dati numerico utilizzato.
Nuovi comandi atomici e migrazione
Per migliorare la coerenza dei dati e semplificare lo sviluppo, il comando SET è stato aggiornato con opzioni di controllo della concorrenza (IFEQ, IFNE), che consentono aggiornamenti condizionali senza la necessità di script Lua. Analogamente, sono stati introdotti comandi come MSETEX per configurare in modo atomico più chiavi con scadenza, ed è stato aggiunto XREADGROUP con opzioni per la lettura di messaggi inattivi e in sospeso in un'unica operazione, semplificando la logica di consumo dei flussi.
Infine, la gestione del cluster riceve un miglioramento fondamentale con il meccanismo di migrazione atomica degli slot (ASM). In precedenza, lo spostamento dei dati tra i nodi era un processo lento e soggetto a errori durante i trasferimenti chiave per chiave. Con Redis 8.4, è stato aggiunto un meccanismo che replica l'intero contenuto dello slot prima di eseguire un trasferimento atomico di proprietà , eliminando i problemi di reindirizzamenti continui e stati incoerenti durante il ribilanciamento del cluster.
Infine, se siete interessati ad approfondire l'argomento, potete trovare maggiori dettagli al seguente link.
Installazione e aggiornamento di Redis
Se vuoi provare queste nuove funzionalità, il modo più consigliato per installare Redis su distribuzioni basate su Debian o Ubuntu è utilizzare il repository ufficiale package.redis.io, poiché i repository predefiniti delle distribuzioni contengono solitamente versioni precedenti.
La prima cosa da fare è installare i prerequisiti e aggiungere la chiave GPG ufficiale di Redis:
sudo apt-get install lsb-release curl gpg curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
Una volta aggiunta la chiave, è necessario aggiungere il repository all'elenco delle sorgenti e aggiornare il sistema:
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list sudo apt-get update
Infine, per installare l'ultima versione disponibile di Redis, eseguire il seguente comando:
sudo apt-get install redis
Per gli utenti di Arch Linux, Manjaro o EndeavourOS , dato che si tratta di distribuzioni rolling release, è probabile che il pacchetto venga aggiornato a breve nei repository ufficiali. Per installarlo o aggiornarlo, è sufficiente aprire un terminale ed eseguire il comando:
sudo pacman -S redis
Nel caso di Fedora , che di solito mantiene pacchetti abbastanza aggiornati, è possibile eseguire l'installazione utilizzando il gestore DNF con il seguente comando:
sudo dnf install redis
Se Redis era già installato da questo repository, il comando precedente aggiornerà l'istanza alla versione 8.4, preservando la configurazione. Per verificare che l'installazione sia andata a buon fine, puoi controllare la versione con `redis-server --version`.