Maison > Article > base de données > Pourquoi avez-vous besoin d'un partitionnement Redis ? Quelles sont les options de mise en œuvre ?
Cet article vous amènera à comprendre le partitionnement Redis, à présenter pourquoi le partitionnement Redis est nécessaire, le plan de mise en œuvre du partitionnement Redis et les lacunes du partitionnement Redis. J'espère qu'il sera utile à tout le monde !
Redis est monothread, comment améliorer l'utilisation du CPU multicœur ?
Vous pouvez déployer plusieurs instances Redis sur le même serveur et les utiliser comme serveurs différents. À un moment donné, un seul serveur ne suffit pas de toute façon, donc si vous souhaitez utiliser plusieurs processeurs, vous pouvez envisager le partitionnement. [Recommandations associées : Tutoriel vidéo Redis]
Pourquoi devons-nous partitionner Redis ?
Le partitionnement permet à Redis de gérer une mémoire plus grande, et Redis pourra utiliser la mémoire de toutes les machines. Sans partitions, vous ne pouvez utiliser que la mémoire d'une seule machine. Le partitionnement permet de doubler la puissance de calcul de Redis en ajoutant simplement des ordinateurs, et la bande passante réseau de Redis augmentera également de façon exponentielle avec l'ajout d'ordinateurs et de cartes réseau.
Quelles sont les solutions d'implémentation de partition Redis ?
1. Le partitionnement côté client signifie que le client a décidé dans quel nœud Redis les données seront stockées ou lues. La plupart des clients implémentent déjà le partitionnement côté client.
2. Le partitionnement de l'agent signifie que le client envoie la demande à l'agent, puis l'agent décide sur quel nœud écrire ou lire les données. L'agent décide quelles instances Redis demander en fonction des règles de partition, puis les renvoie au client en fonction des résultats de la réponse Redis. Une implémentation de proxy pour Redis et Memcached est Twemproxy.
3. Le routage des requêtes signifie que le client demande de manière aléatoire n'importe quelle instance Redis, puis Redis transmet la demande au nœud Redis approprié. Redis Cluster implémente une forme hybride de routage des requêtes, mais au lieu de transférer les requêtes directement d'un nœud Redis à un autre, il redirige directement vers le nœud Redis correct avec l'aide du client.
Quels sont les inconvénients du partitionnement Redis ?
1. Les opérations impliquant plusieurs clés ne sont généralement pas prises en charge. Par exemple, vous ne pouvez pas croiser deux collections car elles peuvent être stockées dans des instances Redis différentes (en fait, il existe un moyen pour cette situation, mais la commande intersection ne peut pas être utilisée directement).
2. Si vous utilisez plusieurs clés en même temps, vous ne pouvez pas utiliser les transactions Redis.
3. La granularité du partitionnement est la clé, il n'est donc pas possible de fragmenter un ensemble de données avec une seule clé énorme comme un très grand ensemble trié)
4. Lors de l'utilisation de partitions, le traitement des données sera très compliqué. pour la sauvegarde, vous devez collecter simultanément les fichiers RDB/AOF de différentes instances et hôtes Redis.
5. L'expansion ou la contraction dynamique lors du cloisonnement peut être très compliquée. Le cluster Redis ajoute ou supprime des nœuds Redis au moment de l'exécution, ce qui permet d'obtenir un rééquilibrage des données qui est le plus transparent possible pour les utilisateurs. Cependant, certaines autres méthodes de partitionnement client ou de partitionnement proxy ne prennent pas en charge cette fonctionnalité. Cependant, il existe une technologie de pré-partage qui peut également mieux résoudre ce problème.
Pour plus de connaissances sur la programmation, veuillez visiter : Vidéos de programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!