J'ai rencontré le même problème, la principale raison derrière cela était la consommation de mémoire (RAM) par redis. Ma machine EC2 avait 8 Go de RAM (environ 7,4 disponibles pour la consommation)
Lorsque mon programme était en cours d'exécution, l'utilisation de la RAM est passée à 7,2 Go, ce qui laisse à peine ~ 100 Mo de RAM, ce qui déclenche généralement la MISCONF Redis error ...
Vous pouvez déterminer la consommation de RAM à l'aide de la htop
commande. Recherchez l' attribut Mem après avoir exécuté la commande htop. S'il montre une consommation élevée (comme dans mon cas, c'était 7,2 Go / 7,4 Go), il est préférable de mettre à niveau l'instance avec une mémoire plus grande. Dans ce scénario, l'utilisation config set stop-writes-on-bgsave-error no
sera une catastrophe pour le serveur et peut entraîner la perturbation d'autres services en cours d'exécution sur le serveur (le cas échéant). Donc, il vaut mieux éviter la commande config et METTRE À NIVEAU VOTRE MACHINE REDIS .
Pour info: vous devrez peut-être installer htop pour que cela fonctionne:sudo apt-get install htop
Une autre solution à cela peut être un autre service lourd RAM exécuté sur votre système, recherchez un autre service en cours d'exécution sur votre serveur / machine / instance et arrêtez-le si ce n'est pas nécessaire. Pour vérifier tous les services exécutés sur votre machine, utilisezservice --status-all
Et une suggestion pour les personnes qui collent directement la commande config, veuillez effectuer une nouvelle recherche et avertir au moins l'utilisateur avant d'utiliser de telles commandes. Et comme @Rodrigo l'a mentionné dans son commentaire: "Cela n'a pas l'air cool d'ignorer les erreurs."
---MISE À JOUR---
Vous pouvez également configurer maxmemory
et maxmemory-policy
définir le comportement de Redis lorsqu'une limite de mémoire spécifique est atteinte. Par exemple, si je souhaite conserver la limite de mémoire de 6 Go et supprimer les clés les moins récemment utilisées de la base de données pour m'assurer que l'utilisation de redis mem ne dépasse pas 6 Go, nous pouvons définir ces deux paramètres (dans redis.conf ou CONFIG SET commander):
maxmemory 6gb
maxmemory-policy allkeys-lru
Il y a beaucoup d'autres valeurs que vous pouvez définir pour ces deux paramètres que vous pouvez lire à ce sujet ici: https://redis.io/topics/lru-cache