Y a-t-il un avantage à exécuter Redis sur plusieurs instances ?
Oui. Il y a au moins trois avantages.
- Redis est à thread unique (en fait, il a plus d'un thread, mais la plupart du travail est effectué dans un seul thread). Avec plusieurs instances, vous pouvez obtenir de meilleures performances.
- Redis stocke les données en mémoire et le stockage est limité à la taille de la mémoire d'une seule machine. Afin de stocker plus de données, vous pouvez déployer plusieurs instances Redis sur différentes machines, et chaque instance stocke une partie différente de l'ensemble des données.
- Vous pouvez avoir une instance maître Redis et son instance esclave s'exécutant sur 2 machines différentes. Si la machine sur laquelle s'exécute l'instance maître est en panne, l'instance esclave peut toujours traiter les requêtes.
Si oui, comment atteindre la parité entre plusieurs instances Redis ?
Je ne sais pas ce que vous entendez par parité . Tu veux dire relation maître-esclave ? Redis peut avoir un maître avec plusieurs esclaves, et chaque esclave peut même avoir ses propres esclaves (si je me souviens bien).
Certains des avantages de l'utilisation de Redis ne seraient-ils pas annulés si vous utilisiez plusieurs instances d'une application Web ? Interagir avec Redis sur une machine locale semble être beaucoup plus rapide que d'extraire les données de la mémoire sur l'instance A, puis de les déplacer sur le réseau vers l'instance B.
Si vous déployez l'instance Redis et l'instance de l'application Web sur 2 machines différentes, vous devez vous assurer que le réseau entre les 2 machines a une faible latence .