Rilascio del database Redis 8.4

È stato pubblicato il rilascio del DBMS Redis 8.4, appartenente alla categoria 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 gestori in linguaggio Lua sul lato server. Il codice del progetto è scritto in C e distribuito con licenza AGPLv3.

Il DBMS Redis supporta le transazioni, consentendo di eseguire un gruppo di comandi in un'unica operazione, garantendo coerenza e sequenzialità (le comandi di altre richieste non possono interferire) durante l'esecuzione del set di comandi designato, e permettendo di annullare le modifiche in caso di problemi. Tutti i dati vengono completamente memorizzati in cache nella memoria volatile. Le librerie client sono disponibili per la maggior parte dei linguaggi popolari, inclusi 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), rinominare chiavi, selezioni multiple e funzioni di ordinamento. Sono supportati due modalità di archiviazione: sincronizzazione periodica dei dati su disco e mantenimento di un log delle modifiche su disco. In quest'ultimo caso, è garantita la completa integrità di tutte le modifiche. È possibile organizzare la replica master-slave dei dati su più server, eseguita in modalità non bloccante. È disponibile anche la modalità di messaggistica "pubblicazione/sottoscrizione", in cui viene creato un canale, i cui messaggi vengono distribuiti ai clienti in base alla sottoscrizione.

Principali novità in Redis 8.4:

  • È stato aggiunto il comando «FT.HYBRID» con implementazione di ricerca ibrida, combinando in una sola richiesta le capacità di ricerca testuale e vettoriale, considerando sia le corrispondenze esatte che la prossimità semantica. Sono supportate le funzionalità di aggregazione dei risultati con la sintassi del comando «FT.AGGREGATE».
  • È stata aumentata la capacità di elaborazione in scenari tipici di utilizzo di Redis per la caching. Ad esempio, per carichi che includono il 10% di operazioni di scrittura (SET) e il 90% di operazioni di lettura (GET) con valori stringa di dimensione 1 KB, l'aumento della capacità di elaborazione è stato 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 alto numero di richieste parallele si osserva un aumento della capacità di elaborazione e una riduzione dei ritardi fino a 4.7 volte per eseguire la ricerca e fino a 1.4 volte per l'aggregazione dei risultati.
    Rilascio del database Redis 8.4
  • È stata ottimizzata l'allocazione della memoria durante l'esecuzione delle richieste e sono state fornite opzioni per configurare il comportamento in caso di esaurimento della memoria disponibile (OOM, out-of-memory).
  • È stato ridotto il consumo di memoria durante la memorizzazione di stringhe piccole (fino a 7 byte) nelle strutture di tipo JSON. Ad esempio, un array JSON che include 500 piccoli elementi in formato chiave/valore ora occupa il 37% in meno di memoria.
  • È stata aumentata l'efficienza della memorizzazione di array numerici JSON, dove tutti gli elementi hanno lo stesso tipo (se prima per ogni elemento di un simile array venivano salvati tipo e valore, ora il tipo è salvato una sola volta per l'intero array). Un test condotto su array contenenti un milione di elementi omogenei ora richiede dal 50% al 92% in meno di memoria a seconda del tipo.
  • Sono state aggiunte opzioni IFEQ, IFNE, IFDEQ e IFDNE al comando SET, che consentono di aggiornare una chiave stringa in situazioni in cui il valore ad essa associato non è stato modificato da un altro client dal momento del suo recupero.
  • È stato aggiunto il comando XDELEX per la cancellazione atomica di una chiave stringa, se il valore ad essa associato non è cambiato dal momento del recupero.
  • È stato aggiunto il comando DIGEST, che restituisce l'hash del valore associato alla chiave specificata.
  • È stata aggiunta l'opzione «CLAIM » al comando XREADGROUP per leggere messaggi sia in attesa (idle pending) che in arrivo (incoming).
  • È stato aggiunto il comando MSETEX per impostare o aggiornare in modo atomico più chiavi stringa contemporaneamente, oltre a rinnovare il loro tempo di vita.
  • È stato introdotto un meccanismo di migrazione atomica degli slot tra i nodi del cluster (ASM – Atomic Slot Migration), simile alla completa replica sincrona, ma operante a livello di singoli slot di memorizzazione. È stato introdotto il comando CLUSTER MIGRATION, tramite il quale è possibile importare slot da altri nodi, monitorare i progressi della migrazione e contrassegnare operazioni di migrazione in attesa.
  • È stato introdotto il comando CLUSTER SLOT-STATS per valutare le statistiche nel cluster relativamente ai singoli slot, come il numero di chiavi, il carico sulla CPU e l'input/output di rete.

Fonte: opennet.ru

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