Stockage d'objets composites de grande taille (Valkey et RedisOSS) - Amazon ElastiCache

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.

Stockage d'objets composites de grande taille (Valkey et RedisOSS)

Dans certains scénarios, une application peut stocker de gros éléments composites dans Valkey ou Redis OSS (comme un jeu de données de hachage de plusieurs Go). Cette pratique n'est pas recommandée car elle entraîne souvent des problèmes de performance dans Valkey ou RedisOSS. Par exemple, le client peut exécuter une HGETALL commande pour récupérer l'intégralité de la collection de hachage de plusieurs Go. Cela peut générer une pression de mémoire importante sur le OSS serveur Valkey ou Redis qui met en mémoire tampon le gros élément dans la mémoire tampon de sortie du client. En outre, pour la migration d'emplacements en mode cluster, les emplacements contenant des éléments dont la taille sérialisée est supérieure à 256 Mo ElastiCache ne sont pas migrés.

Pour résoudre les problèmes liés aux éléments de grande taille, suivez les recommandations ci-dessous :

  • Divisez l’élément composite de grande taille en plusieurs éléments de plus petite taille. Par exemple, divisez une collection de hachage de grande taille en champs clé-valeur individuels avec un schéma de nom de clé qui reflète la collection de manière appropriée, en utilisant par exemple un préfixe commun dans le nom de clé pour identifier la collection d’éléments. Si vous devez accéder à plusieurs champs de la même collection de manière atomique, vous pouvez utiliser la MGET commande pour récupérer plusieurs valeurs-clés dans la même commande.

  • Si vous avez évalué toutes les options et que vous ne parvenez toujours pas à diviser le jeu de données de la collection de grande taille, essayez d’utiliser des commandes qui fonctionnent sur un sous-ensemble des données de la collection plutôt que sur l’ensemble de la collection. Évitez les cas d’utilisation qui vous obligent à récupérer de manière atomique l’intégralité de la collection de plusieurs Go dans la même commande. Un exemple est l'utilisation de HMGET commandes HGET or au lieu de HGETALL on hash collections.