Principali differenze di comportamento e compatibilità della versione del motore con Redis OSS - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Principali differenze di comportamento e compatibilità della versione del motore con Redis OSS

Importante

La pagina seguente è strutturata per indicare tutte le differenze di incompatibilità tra le versioni e informare l'utente di eventuali considerazioni da fare durante l'aggiornamento alle versioni più recenti. Questo elenco include tutti i problemi di incompatibilità delle versioni che potrebbero verificarsi durante l'aggiornamento.

È possibile eseguire l'aggiornamento direttamente dalla versione corrente di Redis OSS all'ultima versione Redis OSS disponibile, senza la necessità di aggiornamenti sequenziali. Ad esempio, è possibile eseguire l'aggiornamento direttamente dalla versione 3.0 di Redis OSS alla versione 7.0.

Le versioni Redis OSS sono identificate con una versione semantica che comprende un componente principale, secondario e patch. Ad esempio, in Redis OSS 4.0.10, la versione principale è 4, la versione secondaria 0 e la versione patch è 10. Questi valori generalmente vengono incrementati in base alle convenzioni seguenti:

  • Le versioni principali riguardano modifiche incompatibili con l'API

  • Le versioni secondarie riguardano nuove funzionalità aggiunte in modo retrocompatibile

  • Le versioni patch riguardano correzioni di bug compatibili con le versioni precedenti e modifiche non funzionali

Consigliamo di utilizzare sempre l'ultima versione della patch all'interno di una determinata versione maggiore.minor per avere gli ultimi miglioramenti in termini di prestazioni e stabilità. A partire dalla ElastiCache versione 6.0 per Redis OSS, ElastiCache offriremo un'unica versione per ogni versione secondaria di Redis OSS anziché offrire più versioni di patch. ElastiCachegestirà automaticamente la versione patch dei cluster di cache in esecuzione, garantendo prestazioni migliorate e maggiore sicurezza.

È preferibile, inoltre, eseguire periodicamente l'aggiornamento all'ultima versione principale, siccome la maggior parte dei miglioramenti principali non viene ripristinata alle versioni precedenti. Poiché ElastiCache estende la disponibilità a una nuova AWS regione, ElastiCache for Redis OSS supporta le due versioni major.minor più recenti in quel momento per la nuova regione. Ad esempio, se viene lanciata una nuova AWS regione e le ultime versioni major.minor per Redis OSS sono 7.0 e 6.2, ElastiCache supporterà ElastiCache le versioni Redis OSS 7.0 e 6.2 nella nuova regione. AWS Man mano che verranno rilasciate le nuove versioni major.minor di Redis OSS, continuerà ad aggiungere ElastiCache il supporto per le versioni appena rilasciate. ElastiCache Per ulteriori informazioni sulla scelta delle regioni per ElastiCache, consulta Scelta delle regioni e delle zone di disponibilità.

Quando esegui un aggiornamento che include versioni principali o secondarie, prendi in considerazione il seguente elenco che include il comportamento e le modifiche retrocompatibili rilasciate con Redis OSS nel tempo.

Comportamento di Redis OSS 7.0 e modifiche retrocompatibili

Per un elenco completo delle modifiche, consulta le note di rilascio di Redis OSS 7.0.

  • SCRIPT LOAD e SCRIPT FLUSH non sono più propagati alle repliche. Se hai bisogno di una certa durabilità per gli script, ti consigliamo di prendere in considerazione l'utilizzo delle funzioni Redis OSS.

  • I canali Pubsub sono ora bloccati per impostazione predefinita per i nuovi utenti ACL.

  • Il comando STRALGO è stato sostituito con il comando LCS.

  • Il formato per ACL GETUSER è stato modificato in modo che tutti i campi contengano il modello di stringa di accesso standard. Se l'automazione era dovuta all'utilizzo di ACL GETUSER, occorre verificare che siano gestiti entrambi i formati.

  • Le categorie ACL per SELECT, WAIT, ROLE, LASTSAVE, READONLY, READWRITE e ASKING sono cambiate.

  • Il comando INFO mostra ora le statistiche per sottocomando anziché nei comandi del container del livello superiore.

  • I valori restituiti dai comandi LPOP, RPOP, ZPOPMIN e ZPOPMAX sono cambiati in determinati casi limite. Se si utilizzano questi comandi, occorre controllare le note di rilascio e valutare se hanno un impatto.

  • I comandi SORT e SORT_RO richiedono ora l'accesso all'intero keyspace per poter utilizzare gli argomenti GET e BY.

Comportamento di Redis OSS 6.2 e modifiche retrocompatibili

Per un elenco completo delle modifiche, consulta le note di rilascio di Redis OSS 6.2.

  • I flag ACL dei comandi TIME, ECHO, ROLE e LASTSAVE sono stati modificati. Ciò può causare il rifiuto di comandi precedentemente autorizzati e viceversa.

    Nota

    Nessuno di questi comandi modifica o fornisce accesso ai dati.

  • Quando si esegue l'aggiornamento da Redis OSS 6.0, l'ordine delle coppie chiave/valore restituite da una risposta della mappa a uno script lua viene modificato. Se i tuoi script utilizzano redis.setresp() o restituiscono una mappa (novità in Redis OSS 6.0), considera le implicazioni che lo script potrebbe non funzionare durante gli aggiornamenti.

Comportamento di Redis OSS 6.0 e modifiche retrocompatibili

Per un elenco completo delle modifiche, consulta le note di rilascio di Redis OSS 6.0.

  • Il numero massimo di database consentiti è stato ridotto da 1,2 milioni a 10.000. Il valore predefinito è 16 e sconsigliamo di utilizzare valori molto più grandi di questo poiché abbiamo riscontrato problemi di prestazioni e memoria.

  • Imposta il AutoMinorVersionUpgrade parametro su yes e ElastiCache gestirà l'aggiornamento della versione secondaria tramite aggiornamenti self-service. Questa operazione verrà gestita tramite canali standard di notifica dei clienti tramite una campagna di aggiornamento self-service. Per ulteriori informazioni, consulta Aggiornamenti self-service in. ElastiCache

Comportamento di Redis OSS 5.0 e modifiche incompatibili con le versioni precedenti

Per un elenco completo delle modifiche, consulta le note di rilascio di Redis OSS 5.0.

  • Gli script vengono replicati dagli effetti invece di rieseguire lo script sulla replica. Ciò generalmente migliora le prestazioni, ma può aumentare la quantità di dati replicati tra primari e repliche. Esiste un'opzione per ripristinare il comportamento precedente, disponibile solo nella ElastiCache versione 5.0 per Redis OSS.

  • Se si esegue l'aggiornamento da Redis OSS 4.0, alcuni comandi negli script LUA restituiranno gli argomenti in un ordine diverso rispetto alle versioni precedenti. In Redis OSS 4.0, Redis OSS ordina alcune risposte in modo lessografico per rendere le risposte deterministiche, questo ordinamento non viene applicato quando gli script vengono replicati mediante effetti.

  • In Redis OSS 5.0.3 e versioni successive, ElastiCache per Redis OSS trasferirà parte del lavoro di I/O sui core in background su tipi di istanze con più di 4. VCPUs Ciò potrebbe modificare le caratteristiche prestazionali di Redis OSS e modificare i valori di alcune metriche. Per ulteriori informazioni, consulta Quali parametri è opportuno monitorare? per appurare se è necessario modificare le metriche.

Comportamento di Redis OSS 4.0 e modifiche retrocompatibili

Per un elenco completo delle modifiche, consulta le note di rilascio di Redis OSS 4.0.

  • Il registro lento ora registra altri due argomenti, il nome e l'indirizzo del client. Questa modifica dovrebbe essere compatibile con le versioni precedenti a meno che non si faccia esplicitamente affidamento su ogni voce del registro lento contenente 3 valori.

  • Il comando CLUSTER NODES ora restituisce un formato lievemente diverso, non compatibile a ritroso. È preferibile che i client non utilizzino questo comando per conoscere i nodi presenti in un cluster, utilizzando invece CLUSTER SLOTS.

EOL precedenti

Comportamento di Redis OSS 3.2 e modifiche incompatibili con le versioni precedenti

Per un elenco completo delle modifiche, consulta le note di rilascio di Redis OSS 3.2.

  • Non esistono modifiche di compatibilità da richiamare per questa versione.

Per ulteriori informazioni, consulta ElastiCache versioni per la pianificazione di fine del ciclo di vita di Redis OSS.

Comportamento di Redis OSS 2.8 e modifiche retrocompatibili

Per un elenco completo delle modifiche, consulta le note di rilascio di Redis OSS 2.8.

  • A partire da Redis OSS 2.8.22, Redis OSS AOF non è più supportato in Redis OSS. ElastiCache È preferibile utilizzare MemoryDB quando i dati devono essere conservati in modo duraturo.

  • A partire da Redis OSS 2.8.22, ElastiCache per Redis OSS non supporta più il collegamento di repliche ai file primari ospitati all'interno. ElastiCache Durante l'aggiornamento, le repliche esterne verranno scollegate e non potranno ricollegarsi. Si consiglia di utilizzare il caching lato client, reso disponibile in Redis OSS 6.0 come alternativa alle repliche esterne.

  • I comandi TTL e PTTL ora restituiscono -2 se la chiave non esiste e -1 se esiste ma non ha una scadenza associata. Redis OSS 2.6 e versioni precedenti restituivano -1 per entrambe le condizioni.

  • SORT con ALPHA ora ordina in base alle impostazioni locali di confronto se non viene utilizzata alcuna opzione STORE.

Per ulteriori informazioni, consulta ElastiCache versioni per la pianificazione di fine del ciclo di vita di Redis OSS.