Maison >développement back-end >tutoriel php >Un exemple de fonctionnement réussi d'un cluster Redis en PHP

Un exemple de fonctionnement réussi d'un cluster Redis en PHP

不言
不言avant
2019-01-09 10:21:062848parcourir

Le contenu de cet article concerne un exemple réussi de cluster Redis fonctionnant en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Java peut utiliser jredis pour faire fonctionner le cluster redis

Il existe deux façons pour PHP de faire fonctionner le cluster redis :

1. Utilisez l'extension phpredis, qui est. une extension c, des performances supérieures, mais phpredis2, une grande flexibilité

J'utilise predis, adresse de téléchargement https://github.com/nrk/predis...

Après le téléchargement, renommez-le en. predis,

server1: 192.168.1.198

server2: 192.168.1.199


predis.php

name1, name2, name3 sont 3 clés, qui sont alloué à 3 slots selon l'algorithme, il peut être divisé en 3 serveurs
<?php require &#39;predis/autoload.php&#39;;//引入predis相关包
//redis实例
$servers = array(
    &#39;tcp://192.168.1.198:7000&#39;,
    &#39;tcp://192.168.1.198:7001&#39;,
    &#39;tcp://192.168.1.198:7002&#39;,
    &#39;tcp://192.168.1.199:7003&#39;,
    &#39;tcp://192.168.1.199:7004&#39;,
    &#39;tcp://192.168.1.199:7005&#39;,
);
 
$client = new Predis\Client($servers, array(&#39;cluster&#39; => 'redis'));
 
$client->set("name1", "11");
$client->set("name2", "22");
$client->set("name3", "33");
 
$name1 = $client->get('name1');
$name2 = $client->get('name2');
$name3 = $client->get('name3');
var_dump($name1, $name2, $name3);die;
Lancez d'abord predis.php pour visualiser les résultats :


Un exemple de fonctionnement réussi dun cluster Redis en PHP Connectez-vous ensuite au client Redis pour la vérification du clustering :

server1

server2
[root@localhost src]# redis-cli -c -p 7000
127.0.0.1:7000> get name1
-> Redirected to slot [12933] located at 192.168.1.199:7004
"11"
192.168.1.199:7004> get name2
-> Redirected to slot [742] located at 192.168.1.199:7003
"22"
192.168.1.199:7003> get name3
"33"
192.168.1.199:7003>

Vous pouvez voir que les données sont distribuées sur différents serveurs. peut les tuer selon ps -ef | grep redis Plusieurs exemples Redis et voir l'effet
[root@localhost src]# redis-cli -c -p 7003
127.0.0.1:7003> get name1
-> Redirected to slot [12933] located at 192.168.1.199:7004
"11"
192.168.1.199:7004> get name2
-> Redirected to slot [742] located at 192.168.1.199:7003
"22"
192.168.1.199:7003> get name3
"33"
192.168.1.199:7003>

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer