Tair (Redis OSS-compatible) supprime progressivement les données expirées, ce qui entraîne une occupation de la mémoire même après l'expiration. Configurez une tâche Scheduled O&M dans CloudOps Orchestration Service (OOS) pour analyser (SCAN) toutes les clés pendant les heures creuses, supprimer immédiatement les clés expirées et libérer de la mémoire.
Contexte
Afin de garantir les performances en lecture et en écriture, les instances Tair (Redis OSS-compatible) utilisent une logique de suppression asynchrone. Lorsqu'une donnée expire, l'instance ne la supprime pas immédiatement. Les clés expirées sont plutôt retirées progressivement via une suppression active (un processus d'arrière-plan qui analyse et supprime périodiquement une partie des clés expirées) et une suppression passive (une clé est supprimée lorsqu'un client tente d'y accéder). Dans les cas extrêmes, lorsqu'un grand nombre de clés expirent simultanément, la récupération de la mémoire peut prendre un temps considérable.
Utilisez le service OOS gratuit pour appeler périodiquement l'API FlushExpireKeys, qui analyse toutes les clés et supprime immédiatement celles qui ont expiré.
La commande SCAN analyse l'ensemble des données et augmente la charge CPU de l'instance. Exécutez cette tâche pendant les heures creuses.
Prérequis
Créez un rôle RAM pour permettre au service OOS d'accéder au service Tair (Redis OSS-compatible). Pour plus d'informations, consultez la rubrique Configurer et accorder des autorisations à un rôle RAM pour OOS.
Attribuez la stratégie système AliyunKvstoreFullAccess au rôle, ce qui lui permet de gérer toutes les ressources Tair (Redis OSS-compatible).
-
Vous pouvez également créer une stratégie personnalisée basée sur le principe du moindre privilège. Cette stratégie autorise OOS à appeler uniquement les API
DescribeInstancesetFlushExpireKeysde Tair (Redis OSS-compatible), limitant ainsi les permissions du rôle à cette tâche spécifique.
Procédure
Accédez à la console OOS.
Dans le volet de navigation de gauche, sélectionnez .
Cliquez sur Create.
-
Configurez la tâche Scheduled O&M.
RemarqueCette rubrique décrit uniquement les paramètres clés. Pour plus de détails sur les autres paramètres, consultez la documentation relative à CloudOps Orchestration Service.
Paramètres de planification
Dans cet exemple, sélectionnez Executed Periodically pour exécuter la tâche tous les jours à 04:00 et 16:00.
Pour Repeat Cycle, sélectionnez cron expression et configurez les champs comme suit : définissez Minute sur
0, Hour sur4,16, Day-of-month sur?, Month sur*et Day-of-week sur*. Pour Time Zone, sélectionnez(GMT+08:00) Asia/Shanghai. Définissez Effective Time sur2025-07-23 00:00:00.Définissez End Time sur 2026-01-01 00:00:00. La tâche Scheduled O&M cessera de s'exécuter à cette date.
Sélectionner un modèle
Dans la section Public Templates, recherchez et sélectionnez le modèle ACS-Redis-FlushExpireKeys.
Configurer les paramètres du modèle
Sélectionnez la région de votre instance, puis choisissez l'instance cible.
Pour Permission Source For Execution, sélectionnez le rôle RAM que vous avez créé dans la section Prérequis.
Paramètres d'exécution (facultatif)
Conservez les paramètres par défaut dans cet onglet.
-
Cliquez sur Create, puis sur OK dans la boîte de dialogue de confirmation.
Lorsque le statut Execution Status d'une tâche est défini sur Active, elle s'exécute automatiquement selon les paramètres définis dans Schedule Settings.
Étapes suivantes
Dans la liste des tâches Scheduled O&M, cliquez sur l'Execution ID d'une tâche pour ouvrir sa page de détails. Sur cette page, vous pouvez consulter ou modifier la configuration de la tâche, déclencher immédiatement une exécution et afficher l'historique des exécutions.
Une fois les données expirées supprimées et la mémoire récupérée, vous constaterez une diminution de la métrique Memory Usage de l'instance dans le module Performance Monitoring.
Documentation connexe
Vous pouvez également configurer Alert and Event O&M dans OOS. Par exemple, appelez l'API FlushExpireKeys pour supprimer les clés expirées lorsque l'utilisation moyenne de la mémoire atteint 90 %. Le processus de configuration est similaire à celui de cette solution, et le point d'entrée se trouve sous . Pour plus d'informations, consultez la rubrique Créer une tâche O&M basée sur une alerte.
Pour en savoir plus sur la manière dont Tair et Redis suppriment les données expirées, consultez la rubrique Comment Tair et Redis purgent-ils les clés expirées ?