Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Principales différences de comportement et de compatibilité entre les versions avec Redis OSS
Important
La page suivante est structurée de manière à indiquer toutes les différences d'incompatibilité entre les versions et à vous informer des éléments à prendre en compte lors de la mise à niveau vers des versions plus récentes. Cette liste inclut tous les problèmes d'incompatibilité de versions que vous pourriez rencontrer lors de la mise à niveau.
Vous pouvez passer directement de votre version Redis actuelle à la dernière OSS version de Redis OSS disponible, sans avoir besoin de mises à niveau séquentielles. Par exemple, vous pouvez passer directement de la OSS version 3.0 de Redis à la version 7.0.
Les OSS versions Redis sont identifiées par une version sémantique qui comprend un composantMAJOR,MINOR, etPATCH. Par exemple, dans Redis OSS 4.0.10, la version majeure est 4, la version mineure 0 et la version du correctif est 10. Ces valeurs sont généralement incrémentées en fonction des conventions suivantes :
-
MAJORles versions concernent les modifications API incompatibles
-
MINORles versions sont destinées aux nouvelles fonctionnalités ajoutées de manière rétrocompatible
-
PATCHles versions sont destinées à des corrections de bogues rétrocompatibles et à des modifications non fonctionnelles
Nous vous recommandons de toujours utiliser la dernière version du correctif dans les limites d'un délai donnéMAJOR. MINORversion afin de bénéficier des dernières améliorations de performances et de stabilité. À partir de Redis OSS 6.0, ElastiCache (RedisOSS) proposera une version unique pour chaque version OSS mineure de Redis, plutôt que de proposer plusieurs versions de correctif. ElastiCache (RedisOSS) gérera automatiquement la version du correctif de vos clusters de cache en cours d'exécution, garantissant ainsi de meilleures performances et une sécurité renforcée.
Nous recommandons également de procéder périodiquement à une mise à niveau vers la dernière version majeure, car la plupart des améliorations majeures ne sont pas rétroportées vers des versions plus anciennes. Alors que la disponibilité ElastiCache s'étend à une nouvelle AWS région, ElastiCache (RedisOSS) prend en charge les deux plus récentesMAJOR. MINORversions de l'époque pour la nouvelle région. Par exemple, si une nouvelle AWS région est lancée et la plus récenteMAJOR. MINOR ElastiCache Les versions (RedisOSS) sont 7.0 et 6.2, ElastiCache (RedisOSS) prendra en charge les versions 7.0 et 6.2 dans la nouvelle AWS région. Comme plus récentMAJOR. MINORdes versions de ElastiCache (RedisOSS) sont publiées, ElastiCache nous continuerons de prendre en charge les nouvelles versions ElastiCache (RedisOSS). Pour en savoir plus sur le choix des régions pour ElastiCache, consultez la section Choix des régions et des zones de disponibilité.
Lorsque vous effectuez une mise à niveau qui couvre des versions majeures ou mineures, veuillez prendre en compte la liste suivante qui inclut les modifications comportementales et rétroincompatibles publiées avec Redis OSS au fil du temps.
Comportement de Redis OSS 7.0 et modifications rétroincompatibles
Pour une liste complète des modifications, consultez les notes de mise à jour de Redis OSS 7.0
-
SCRIPT LOAD
etSCRIPT FLUSH
ne sont plus propagés vers des réplicas. Si vous avez besoin d'une certaine durabilité pour les scripts, nous vous recommandons d'utiliser les OSSfonctions Redis. -
Les chaînes Pubsub sont désormais bloquées par défaut pour les nouveaux ACL utilisateurs.
-
La commande
STRALGO
a été remplacée par la commandeLCS
. -
Le format de
ACL GETUSER
a été modifié de sorte que tous les champs affichent le modèle de chaîne d'accès standard. Si vous avez utilisé l'automatisation pourACL GETUSER
, vous devez vérifier qu'il gère l'un des deux formats. -
Les ACL catégories pour
SELECT
,WAIT
,ROLE
LASTSAVE
,READONLY
,READWRITE
, etASKING
ont changé. -
La commande
INFO
affiche désormais les statistiques des commandes par sous-commande plutôt que dans les commandes de conteneur de niveau supérieur. -
Les valeurs de retour des commandes
LPOP
,RPOP
,ZPOPMIN
etZPOPMAX
ont changé dans certains cas limites. Si vous utilisez ces commandes, vous devez consulter les notes de mise à jour et évaluer si vous êtes concerné. -
Les commandes
SORT
etSORT_RO
nécessitent désormais un accès à l'intégralité de l'espace de clés pour pouvoir utiliser les argumentsGET
etBY
.
Comportement de Redis OSS 6.2 et modifications rétroincompatibles
Pour une liste complète des modifications, consultez les notes de mise à jour de Redis OSS 6.2
-
Les ACL drapeaux des
LASTSAVE
commandesTIME
,ECHO
ROLE
, et ont été modifiés. Cela peut entraîner le rejet de commandes qui étaient précédemment acceptées et vice versa.Note
Aucune de ces commandes ne modifie ou ne donne accès aux données.
-
Lors de la mise à niveau depuis Redis OSS 6.0, l'ordre des paires clé/valeur renvoyées par une réponse cartographique à un script lua est modifié. Si vos scripts utilisent
redis.setresp()
ou renvoient une carte (nouvelle version de Redis OSS 6.0), considérez les implications que le script peut entraîner lors des mises à niveau.
Comportement de Redis OSS 6.0 et modifications rétroincompatibles
Pour une liste complète des modifications, consultez les notes de mise à jour de Redis OSS 6.0
-
Le nombre maximum de bases de données autorisées a été diminué de 1,2 million à 10 mille. La valeur par défaut est 16, et nous vous déconseillons d'utiliser des valeurs beaucoup plus grandes car nous avons constaté des problèmes de performances et de mémoire.
-
Définissez
AutoMinorVersionUpgrade
le paramètre sur yes, et ElastiCache (RedisOSS) gérera la mise à niveau de la version mineure via des mises à jour en libre-service. Cela sera géré par les canaux standard de notification client via une campagne de mise à jour en libre-service. Pour plus d'informations, consultez la section Mises à jour en libre-service dans ElastiCache.
Comportement de Redis OSS 5.0 et modifications rétroincompatibles
Pour une liste complète des modifications, consultez les notes de mise à jour de Redis OSS 5.0
-
Les scripts sont répliqués par effets au lieu de réexécuter le script sur le réplica. Cela améliore généralement les performances, mais peut augmenter la quantité de données répliquées entre les principaux et les réplicas. Il existe une option permettant de revenir au comportement précédent qui n'est disponible que dans ElastiCache (RedisOSS) 5.0.
-
Si vous effectuez une mise à niveau depuis Redis OSS 4.0, certaines commandes LUA des scripts renverront les arguments dans un ordre différent de celui des versions précédentes. Dans Redis OSS 4.0, Redis OSS ordonnait certaines réponses de manière lexographique afin de les rendre déterministes. Cet ordre n'est pas appliqué lorsque les scripts sont répliqués par des effets.
-
Dans Redis OSS 5.0.3 et versions ultérieures, ElastiCache (RedisOSS) déchargera une partie du travail d'E/S sur les cœurs d'arrière-plan sur les types d'instances contenant plus de 4. VCPUs Cela peut modifier les caractéristiques de performance de Redis OSS et modifier les valeurs de certaines métriques. Pour plus d'informations, consultez Quelles métriques dois-je surveiller ? pour savoir si vous devez modifier les métriques que vous surveillez.
Comportement de Redis OSS 4.0 et modifications rétroincompatibles
Pour une liste complète des modifications, consultez les notes de mise à jour de Redis OSS 4.0
-
Le journal lent enregistre désormais deux arguments supplémentaires, le nom et l'adresse du client. Cette modification devrait être rétrocompatible, sauf si vous comptez explicitement sur le fait que chaque entrée du journal lent contient 3 valeurs.
-
La commande
CLUSTER NODES
renvoie désormais un format légèrement différent, qui n'est pas rétrocompatible. Nous recommandons aux clients de ne pas utiliser cette commande pour connaître les nœuds présents dans un cluster, et d'utiliser plutôtCLUSTER SLOTS
.
Passé EOL
Comportement de Redis OSS 3.2 et modifications rétroincompatibles
Pour une liste complète des modifications, consultez les notes de mise à jour de Redis OSS 3.2
-
Il n'y a pas de modifications de compatibilité à signaler pour cette version.
Pour de plus amples informations, veuillez consulter Calendrier de fin de vie des OSS versions Redis.
Comportement de Redis OSS 2.8 et modifications rétroincompatibles
Pour une liste complète des modifications, consultez les notes de mise à jour de Redis OSS 2.8
-
À partir de Redis OSS 2.8.22, Redis n'OSSAOFest plus pris en charge dans ElastiCache (Redis). OSS Nous recommandons d'utiliser MemoryDB lorsque les données doivent être conservées de manière durable.
-
À partir de Redis OSS 2.8.22, ElastiCache (RedisOSS) ne prend plus en charge l'attachement de répliques aux serveurs principaux hébergés dans Redis. ElastiCache Pendant la mise à niveau, les réplicas externes seront déconnectés et il sera impossible de les reconnecter. Nous recommandons d'utiliser la mise en cache côté client, disponible dans Redis OSS 6.0, comme alternative aux répliques externes.
-
Les commandes
TTL
etPTTL
renvoient désormais -2 si la clé n'existe pas et -1 si elle existe, mais n'a pas d'expiration associée. Redis OSS 2.6 et les versions précédentes renvoyaient -1 pour les deux conditions. -
SORT
avecALPHA
trie désormais en fonction des paramètres régionaux de classement locaux si aucune optionSTORE
n'est utilisée.
Pour de plus amples informations, veuillez consulter Calendrier de fin de vie des OSS versions Redis.