Tair (compatible avec Redis OSS) prend en charge plusieurs versions du moteur. Cette rubrique présente les nouvelles fonctionnalités et les modifications de compatibilité pour chaque version majeure, incluant à la fois les évolutions de la communauté open source et les comportements spécifiques à Alibaba Cloud.
Chaque section détaille les fonctionnalités et les changements de compatibilité issus de la communauté open source et d'Alibaba Cloud. Pour une vue maintenue par la communauté, consultez le Rapport de compatibilité des versions majeures de Redis , fruit d'une collaboration entre l'équipe Tair et la communauté.
Tair (Enterprise Edition)
Nouvelles fonctionnalités
Structures de données étendues : Les versions 5,0 et ultérieures intègrent les structures de données étendues de Tair, qui offrent des modèles de données plus riches et des capacités de niveau entreprise. Pour plus de détails, consultez la rubrique Présentation des structures de données étendues de Tair.
Modifications de compatibilité
Aucune modification de compatibilité n'est intervenue entre les versions 6,0 et 7,0. Le tableau ci-dessous répertorie les différences de comportement introduites lors de la mise à niveau de la version 5,0 vers la version 6,0. Pour connaître la prise en charge des commandes par version, consultez la rubrique Prise en charge des commandes et limites pour Tair (Enterprise Edition).
| Structure de données étendue | Modification (5,0 → 6,0) | Impact |
|---|---|---|
| TairHash (exHash) | Lors de l'utilisation du paramètre pattern avec EXHSCAN : la version 5,0 vérifie l'expiration uniquement sur les champs correspondant au modèle ; la version 6,0 la vérifie sur tous les champs analysés, qu'ils correspondent ou non. |
L'analyse avec une valeur count élevée, lorsque de nombreux champs ont expiré, peut augmenter le temps de réponse (RT) dans la version 6,0. |
| TairBloom (Bloom) | L'algorithme de hachage sous-jacent est mis à jour. | Le taux de faux positifs peut augmenter légèrement. |
| TairTS (TS) | EXTS.S.ALTER : Les attributs invalides tels que CHUNK_SIZE sont ignorés silencieusement dans la version 6,0 ; ils déclenchent une erreur dans la version 5,0. EXTS.S.INFO : Le champ maxDataPoints n'est plus renvoyé dans la version 6,0. EXTS.S.RANGE / EXTS.P.RANGE : Le paramètre non pris en charge withLabels est ignoré silencieusement dans la version 6,0 ; il déclenche une erreur dans la version 5,0. Requêtes : Les buckets de requête peuvent être inférieurs à 1 seconde dans la version 6,0, ce qui n'était pas autorisé dans la version 5,0. |
Vérifiez si votre application dépend du comportement de déclenchement d'erreur de EXTS.S.ALTER ou de EXTS.S.RANGE / EXTS.P.RANGE. Mettez à jour tout code client qui lit le champ maxDataPoints à partir des réponses EXTS.S.INFO. |
Redis open-source edition 7,0
Nouvelles fonctionnalités
Consultez les notes de version de Redis 7,0 pour la liste complète des nouvelles fonctionnalités.
Un changement de comportement notable concerne les commandes de module exécutées sur des threads d'arrière-plan : le journal des requêtes lentes enregistre désormais toute la durée d'attente. Pour les commandes de blocage standard telles que BLPOP, le journal des requêtes lentes n'enregistre que le temps d'exécution, et non la durée d'attente.
Modifications de compatibilité
Consultez les notes de version de Redis 7,0 pour toutes les modifications incompatibles. Voici les principaux changements à prendre en compte :
La commande
LCSremplaceSTRALGO. La commandeSTRALGOn'est plus prise en charge.L'indicateur
allow-oomdans les scripts Lua n'est plus pris en charge. Pour plus de détails, consultez la page redis/redis#10699.
Pour les autres modifications concernant la prise en charge des commandes, consultez la rubrique Prise en charge des commandes pour Redis Open-Source Edition.
Redis open-source edition 6,0
Nouvelles fonctionnalités
Consultez les notes de version de Redis 6,0 pour la liste complète des nouvelles fonctionnalités.
Ajout spécifique à Alibaba Cloud : dans une instance d'architecture de cluster utilisant le mode de connexion directe, la commande PUBLISH diffuse désormais les messages à l'ensemble du cluster.
Modifications de compatibilité
Consultez les notes de version de Redis 6,0 pour toutes les modifications incompatibles.
La gestion des comptes dans Tair (compatible avec Redis OSS) diffère de la fonctionnalité native de liste de contrôle d'accès (ACL) d'open source :
Le compte par défaut est
default. Le compte nommé d'après l'ID de l'instance (par exemple,r-bp1857n194kiuv****) constitue un compte distinct.L'exécution de
AUTHsans spécifier de compte authentifie l'utilisateur via le comptedefault.
Pour les autres modifications concernant la prise en charge des commandes, consultez la rubrique Prise en charge des commandes pour Redis Open-Source Edition.
Redis open-source edition 5,0
Nouvelles fonctionnalités
Consultez les notes de version de Redis 5,0 pour la liste complète des nouvelles fonctionnalités.
Ajouts spécifiques à Alibaba Cloud dans cette version :
Amélioration de la précision du temps de réveil pour les connexions bloquantes
Mise à l'échelle transparente pour les instances d'architecture de cluster en mode de connexion directe
Modifications de compatibilité
Consultez les notes de version de Redis 5,0 pour toutes les modifications incompatibles. Voici les principaux changements à prendre en compte :
Les commandes exécutées dans les scripts Lua ne trient plus les résultats.
Les noms de compte sont sensibles à la casse.
Après avoir activé l'accès sans mot de passe, la commande
AUTHpermet toujours de basculer entre les comptes.Les commandes
READONLYetREADWRITEsont disponibles.
Autorisations des comptes : Si différents comptes disposent d'autorisations distinctes, assurez-vous que votre application n'exécute que des commandes dans le périmètre autorisé, faute de quoi elle rencontrera des erreurs d'autorisation.
Cloud-native Edition vs Classic Edition : Après avoir activé l'accès sans mot de passe VPC pour une instance Cloud-native Edition, toutes les connexions nécessitent toujours une vérification de la liste d'autorisation. Le paramètre #no_loose_check-whitelist-always n'est pas disponible pour les instances Cloud-native Edition.
Pour les autres modifications concernant la prise en charge des commandes, consultez la rubrique Prise en charge des commandes pour Redis Open-Source Edition.
Versions retirées
Les versions suivantes sont retirées. Ces informations sont fournies à titre de référence lors de la migration depuis ces versions.
Redis open-source edition 4,0
Nouvelles fonctionnalités
Consultez les notes de version de Redis 4,0 pour la liste complète des nouvelles fonctionnalités.
Ajouts spécifiques à Alibaba Cloud dans cette version :
Mode compatible Sentinel : nécessite un accès sans mot de passe et prend en charge uniquement les sous-commandes
SENTINELetget-master-addr-by-name.Adresse de mode de connexion directe pour les instances d'architecture de cluster.
Le paramètre
ptod_enabledtransmet les adresses IP des clients aux nœuds de base de données. Consultez la rubrique Paramètres pris en charge.-
Plusieurs comptes avec des autorisations en lecture/écriture ou en lecture seule. Basculez entre les comptes à l'aide de la commande
AUTH user:password.Les noms de compte ne sont pas sensibles à la casse dans la version 4,0.
Le compte par défaut correspond à l'ID de l'instance (par exemple,
r-bp1857n194kiuv****).Si aucun compte n'est spécifié ou s'il n'existe pas, l'authentification revient au compte par défaut.
Lorsque l'accès sans mot de passe est activé, les connexions utilisent le compte par défaut et ne permettent pas de changer de compte.
Le paramètre
#no_loose_check-whitelist-alwayspour l'accès sans mot de passe, qui contrôle si la vérification de la liste d'autorisation s'applique aux connexions au sein du même VPC. Consultez la rubrique Paramètres pris en charge.
Modifications de compatibilité
Consultez les notes de version de Redis 4,0 pour toutes les modifications incompatibles. Voici les principaux changements à prendre en compte :
Les instances d'architecture de cluster doivent enregistrer les mappages slot-clé, ce qui entraîne une utilisation mémoire plus élevée pour le même jeu de données par rapport à l'architecture standard.
Dans l'architecture de cluster, la commande
SORTne prend pas en charge les paramètresBYetGET.Le chiffrement SSL n'est plus pris en charge.
En mode de connexion directe pour les instances d'architecture de cluster, certaines commandes
CLUSTERne sont pas prises en charge. Consultez la rubrique Prise en charge des commandes pour Redis Open-Source Edition.En mode de connexion directe pour les instances d'architecture de cluster, la commande
SELECTest prise en charge, mais ne l'utilisez pas pour détecter si une connexion est en mode cluster, car cela pourrait amener votre application à mal identifier le type de connexion.En mode de connexion directe pour les instances d'architecture de cluster, la commande
PUBLISHne diffuse pas les messages vers les autres nœuds.
Pour les autres modifications concernant la prise en charge des commandes, consultez la rubrique Prise en charge des commandes pour Redis Open-Source Edition.
Redis open-source edition 2,8
Nouvelles fonctionnalités
Consultez les notes de version de Redis 2,8 pour la liste complète des nouvelles fonctionnalités.
Ajouts spécifiques à Alibaba Cloud dans cette version :
Accès sans mot de passe : les connexions VPC ignorent la vérification de la liste d'autorisation IP et la commande
AUTHrenvoie immédiatementOKsans vérification du mot de passe.Architecture de cluster en mode proxy
Modifications de compatibilité
Consultez les notes de version de Redis 2,8 pour toutes les modifications incompatibles. Voici les principaux changements à prendre en compte :
Certaines commandes de débogage et de gestion ne sont pas prises en charge.
CONFIG GETne renvoie qu'un sous-ensemble d'éléments de configuration. Les éléments de configuration liés à la sécurité ne sont pas renvoyés.CONFIG SETrenvoie toujoursOKsans appliquer aucune modification.La sortie de la commande
INFOest limitée. Par exemple, les informations liées à la sécurité telles que la persistance et la réplication ne sont pas renvoyées.Les instances d'architecture de cluster en mode proxy ne prennent pas en charge certaines commandes. Consultez la rubrique Limitations des commandes pour les instances en cluster et en lecture/écriture séparée.