Redis est un système de stockage de structure de données de mémoire open source, qui est largement utilisé dans des scénarios tels que le cache, les files d'attente de messages et les verrous distribués. Le cluster Redis coopère avec plusieurs nœuds pour réaliser le fragment des données et la sauvegarde redondante, améliorant les capacités de traitement simultanées du système et la tolérance aux défauts. Cet article présentera comment construire et utiliser les clusters Redis à l'aide du framework ThinkPhp6.
Le cluster Redis se compose de plusieurs nœuds, chaque nœud est responsable du stockage d'une partie des données et d'assurer l'intégrité et la cohérence des données par la communication entre les nœuds. En mode cluster, les données sont réparties uniformément et le système a une bonne évolutivité et une bonne disponibilité.
La réplication maître-esclave est la clé du cluster Redis pour implémenter la sauvegarde et le basculement des données. Le nœud maître est responsable de l'écriture des opérations et le nœud esclave est responsable de la lecture des opérations et de la synchronisation des données du nœud maître. Lorsqu'un nœud maître échoue, le nœud esclave peut être promu dans un nœud maître pour s'assurer que le service n'est pas interrompu.
Le cluster éclaire les données via un algorithme de l'emplacement de hachage, et chaque nœud gère une plage de emplacement de hachage spécifique. De cette façon, les données sont réparties uniformément entre les différents nœuds, et l'efficacité du stockage et de l'accès est améliorée.
ThinkPhp6, en tant que cadre PHP léger, fournit un support d'extension riche pour faciliter l'intégration des clusters redis. Les étapes clés sont décrites ci-dessous.
<span class="fun">Le compositeur a besoin de topthink / think-redis</span>
Installez l'extension Redis de ThinkPhp via Composer et vous pouvez utiliser la fonction Redis dans votre projet après la fin.
return [
// ...
'redis' => [
'type' => 'cluster', // Mode de cluster
'password' => '', // mot de passe(S'il y a)
'timeout' => 0, // Délai de connexion
'persistent' => false, // Que ce soit pour utiliser des connexions persistantes
'clusters' => [
[
'host' => '192.168.1.101',
'port' => 6379,
],
[
'host' => '192.168.1.102',
'port' => 6379,
],
// Ajouter plus de nœuds en fonction de la situation réelle
],
],
];
Définissez les hôtes et les ports de plusieurs nœuds Redis dans le fichier de configuration pour terminer la configuration des informations du cluster.
use think\facade\Redis;
// Définir la valeur clé
Redis::set('name', 'Tom');
// Obtenir la valeur clé
$name = Redis::get('name');
echo $name; // Sortir 'Tom'
En utilisant les méthodes statiques fournies par la classe Redis, vous pouvez facilement lire et écrire le cluster Redis, et la méthode d'utilisation est fondamentalement la même que celle de Redis à nœud unique.
Cet article se concentre sur le framework ThinkPHP6 et présente en détail les connaissances de base et de mise en œuvre du cluster redis. En installant des extensions Redis, en configurant les informations de nœud de cluster et en appelant les interfaces Redis, les développeurs peuvent rapidement créer des systèmes de cache distribués hautes performances et très disponibles pour répondre aux besoins complexes de l'entreprise.