Il existe actuellement deux extensions Redis principales pour php que nous utilisons :
phpredis, qui utilise c Un outil efficace extension de PHP ; predis, qui est écrite en code PHP et est très utilisée.
Méthode phpredis (extension PHP) (apprentissage recommandé : Tutoriel vidéo PHP)
Méthode autonome phpredis
<?php $client = new Redis(); $client->connect('10.30.5.163', '7000'); echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');
le cluster PHPredis utilise
<?php $redis_list = ['10.30.5.162:7000','10.30.5.163:7000','10.30.5.163:7001']; $client = new RedisCluster(NUll,$redis_list); echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');
Description du code
Passez NULL pour le premier paramètre, ne me demandez pas, je ne le fais pas Je ne sais pas pourquoi. Quoi qu’il en soit, je n’ai pas trouvé le document et je n’ai pas compris cet article. Le deuxième paramètre est la liste des serveurs maîtres du cluster Redis auquel nous devons nous connecter. Nous avons 3 maîtres, remplissez-en simplement 3, vous pouvez remplir un nœud maître, ou même remplir un nœud esclave, mais les performances sont différentes, voir Partie 4Principe du cluster<🎜. >Pourquoi redisCluster peut-il être utilisé en remplissant n'importe quelle adresse de nœud ?
En mode cluster, lorsque Redis reçoit une commande liée à la clé, il calcule d'abord l'emplacement correspondant à la clé,
Si le nœud esclave est initialisé, la commande redis sera d'abord envoyée au nœud esclave
Le nœud esclave trouve le nœud correspondant en fonction du slot Si le nœud est lui-même, la commande clé. est traité ;
Si ce n'est pas lui-même, une erreur de redirection MOVED informe le client de demander le bon nœud. Ce processus est appelé redirection MOVED
Les informations de redirection contiennent le slot correspondant à la clé et l'adresse du nœud responsable du slot selon ces informations
<. 🎜> Le client peut lancer une requête vers le bon nœudLe client PHPREDIS peut directement lancer une requête vers le nœud où se trouve la clé en fonction des informations de redirection pour obtenir les donnéesUtiliser le mode cluster Predis
<?php use Predis\Client; require __DIR__ . '/../vendor/autoload.php'; $redis_list = [ 'tcp://10.30.5.163:7000', 'tcp://10.30.5.163:7001', 'tcp://10.30.5.162:7000' ]; $redis = new Client($redis_list, ['cluster'=>'redis']); echo $redis->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f')
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!