>백엔드 개발 >PHP 튜토리얼 >PHP에서 Redis 클러스터를 성공적으로 운영한 예

PHP에서 Redis 클러스터를 성공적으로 운영한 예

不言
不言앞으로
2019-01-09 10:21:062809검색

이 기사의 내용은 PHP가 Redis 클러스터를 운영하는 성공적인 사례에 관한 것입니다. 이는 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

Java는 jredis를 사용하여 redis 클러스터를 작동할 수 있습니다.

php Redis 클러스터를 작동하는 방법에는 두 가지가 있습니다:

1 더 높은 성능을 제공하는 C 확장인 phpredis 확장을 사용하지만 phpredis2.x 확장이 작동하지 않아 다음을 수행해야 합니다. phpredis가 3.0에 도달했지만 이 솔루션에 대한 참조 자료가 거의 없습니다

2. predis 사용, 순수 PHP 개발, 네임스페이스 사용, php5.3+ 필요, 높은 유연성

predis 사용, 다운로드 주소 https:// github .com/nrk/predis...

다운로드 후 이름을 predis로 변경하세요.

server1: 192.168.1.198
server2: 192.168.1.199

predis.php

<?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;

name1, name2, name3은 3개의 키로 할당되어 있습니다. 알고리즘에 따라 3개의 슬롯에 할당될 수 있으며 3개의 서버에 할당될 수 있습니다.
먼저 predis.php를 실행하여 결과를 확인합니다:

PHP에서 Redis 클러스터를 성공적으로 운영한 예

그런 다음 클러스터 확인을 위해 redis 클라이언트에 로그인합니다:

server1

[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>

server2

[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>

데이터가 다양한 서버에 분산되어 있는 것을 볼 수 있으며 ps -ef | grep redis에 따라 여러 redis 인스턴스를 종료하고 그 효과를 확인할 수 있습니다

위 내용은 PHP에서 Redis 클러스터를 성공적으로 운영한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제