Rilascio del database Redis 8.4

È stato pubblicato il rilascio del DBMS Redis 8.4, appartenente alla classe dei sistemi NoSQL. Redis offre funzionalità per la memorizzazione dei dati in formato chiave/valore, ampliate dal supporto per formati di dati strutturati come liste, hash e insiemi, oltre alla possibilità di eseguire script di gestione sul lato server in linguaggio Lua. Il codice del progetto è scritto in C e distribuito con licenza AGPLv3.

Il DBMS Redis supporta le transazioni, permettendo di eseguire in un'unica azione un gruppo di comandi, garantendo coerenza e sequenzialità (i comandi di altre richieste non possono intervenire) nell'esecuzione dell'insieme di comandi specificato, e in caso di problemi consente il rollback delle modifiche. Tutti i dati vengono completamente memorizzati nella RAM. Le librerie client sono disponibili per la maggior parte dei linguaggi di programmazione più popolari, tra cui Perl, Python, PHP, Java, Ruby e Tcl.

Per gestire i dati, sono disponibili comandi come incremento/decremento, operazioni standard su liste e set (unione, intersezione), rinominazione delle chiavi, selezioni multiple e funzioni di ordinamento. Sono supportati due modalità di memorizzazione: sincronizzazione periodica dei dati su disco e registrazione su disco delle modifiche. Nel secondo caso, viene garantita la completa sicurezza di tutte le modifiche. È possibile organizzare la replica dei dati master-slave su più server, eseguita in modalità non bloccante. È disponibile anche una modalità di messaggistica "pubblicazione/sottoscrizione", in cui viene creato un canale, i cui messaggi vengono distribuiti ai clienti in base all'iscrizione.

Modifiche chiave in Redis 8.4:

  • È stato aggiunto il comando "FT.HYBRID" con l'implementazione della ricerca ibrida, che combina in un'unica query le capacità della ricerca testuale completa e della ricerca vettoriale, considerando sia le corrispondenze dirette che la vicinanza semantica. Sono supportate le capacità di aggregazione dei risultati con una sintassi simile a quella del comando "FT.AGGREGATE".
  • È stata aumentata la capacità di elaborazione nelle applicazioni tipiche di Redis per la memorizzazione nella cache. Ad esempio, con carichi che includono il 10% di operazioni di scrittura (SET) e il 90% di operazioni di lettura (GET) e memorizzando valori stringa di dimensione 1 KB, è stato registrato un aumento della capacità di elaborazione del 30%.
    Rilascio del database Redis 8.4
  • È stata migliorata la performance delle operazioni di ricerca (FT.SEARCH) e di aggregazione dei risultati (FT.AGGREGATE). Nei sistemi sotto carico con un numero elevato di richieste parallele, si osserva un aumento della capacità di elaborazione e una riduzione delle latenze fino a 4,7 volte durante la ricerca e fino a 1,4 volte durante l'aggregazione dei risultati.
    Rilascio del database Redis 8.4
  • È stata ottimizzata l'allocazione della memoria durante l'esecuzione delle richieste e fornita la possibilità di configurare il comportamento in caso di esaurimento della memoria disponibile (OOM, out-of-memory).
  • È stato ridotto il consumo di memoria nella memorizzazione di piccole stringhe (fino a 7 byte) nelle strutture di tipo JSON. Ad esempio, un array in JSON che include 500 piccoli elementi in formato chiave/valore occupa ora il 37% in meno di memoria.
  • È stata aumentata l'efficienza dell'archiviazione degli array numerici JSON, in cui tutti gli elementi hanno lo stesso tipo (se in precedenza per ogni elemento in un array del genere veniva memorizzato il tipo e il valore, ora il tipo viene memorizzato una sola volta per l'intero array). Nei test condotti, tali array con un milione di elementi omogenei richiedono ora dal 50 al 92% di memoria in meno a seconda del tipo.
  • Nel comando SET sono state aggiunte le opzioni IFEQ, IFNE, IFDEQ e IFDNE, che consentono di utilizzare un solo comando per aggiornare una chiave stringa in situazioni in cui il valore correlato non è stato modificato da un altro cliente dall'estrazione.
  • È stato aggiunto il comando XDELEX per la rimozione atomica di una chiave stringa, se il valore associato non è cambiato dall'estrazione.
  • È stato aggiunto il comando DIGEST, che restituisce l'hash del valore associato alla chiave specificata.
  • Nel comando XREADGROUP è stata aggiunta l'opzione «CLAIM » per leggere sia i messaggi in attesa (idle pending) che quelli in arrivo (incoming).
  • È stato aggiunto il comando MSETEX per impostare o aggiornare in modo atomico più chiavi stringa contemporaneamente, oltre ad aggiornare il tempo di vita di queste stesse chiavi.
  • È stato implementato un meccanismo di migrazione atomica delle slot tra i nodi del cluster (ASM - Atomic Slot Migration), simile alla replica sincrona completa, ma funzionante a livello di singole slot di archiviazione dati. È stato aggiunto il comando CLUSTER MIGRATION, che consente di importare slot da altri nodi, monitorare il progresso della migrazione e, se necessario, contrassegnare le operazioni di migrazione in attesa di esecuzione.
  • È stato aggiunto il comando CLUSTER SLOT-STATS per valutare le statistiche nel cluster relative a singole slot, come il numero di chiavi, il carico della CPU e il traffico di rete.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster