Pourquoi la taille de mon fichier de sauvegarde Redis (.rdb) est-elle toujours inférieure à celle de la métrique BytesUsedForCache du cluster ElastiCache ?

Date de la dernière mise à jour : 07/01/2020

J'utilise Amazon ElastiCache for Redis. Pourquoi la taille de mon fichier de sauvegarde Redis (.rdb) est-elle toujours inférieure à celle de la métrique BytesUsedForCache du cluster ?

Solution

La métrique BytesUsedForCache inclut des octets à différentes fins, y compris la taille réelle des clés, les en-têtes et la fragmentation de la mémoire. Les clés expirées consomment également de la mémoire jusqu'à ce que Redis les supprime de manière asynchrone, passivement ou activement. Pour plus d'informations, consultez la section Expire key seconds - How Redis expire keys sur le site Web Redis.io.

ElastiCache utilise à la fois des processus de sauvegarde avec et sans fonction fork. Les deux processus vident toutes les clés sur le disque pour créer le fichier .rdb. Le fichier .rdb n'utilise pas de pointeurs ou de clés expirées, et il ne traite pas la fragmentation de la mémoire, les métadonnées ou les mémoires tampons. Cela signifie que la taille des fichiers de sauvegarde est inférieure à celle de la métrique BytesUsedForCache. Par exemple, votre cluster Redis peut afficher une taille de 15 Gio pour BytesUsedforCache et indiquer également que la sauvegarde a été initiée lors d'importantes demandes de lecture/écriture sur le cluster. Une fois le processus de sauvegarde terminé, la taille du cache de sauvegarde peut être comprise entre 10 et 12 Gio, au lieu de 15 Gio, car la sauvegarde ne contient pas de clés, de pointeurs, etc.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?