>  기사  >  백엔드 개발  >  PHP에서 Redis 클러스터를 호출하는 방법

PHP에서 Redis 클러스터를 호출하는 방법

(*-*)浩
(*-*)浩원래의
2019-09-29 14:15:432526검색

현재 우리가 사용하는 PHP용 주요 Redis 확장은 두 가지입니다.

PHP에서 Redis 클러스터를 호출하는 방법

phpredis는 C로 작성된 PHP의 효율적인 확장으로, PHP 코드로 작성되었으며 꽤 많이 사용됩니다. .

phpredis(PHP 확장) 방식 (추천 학습: PHP 동영상 튜토리얼)

1. phpredis 독립 실행형 방식

<?php
$client = new Redis();
$client->connect(&#39;10.30.5.163&#39;, &#39;7000&#39;);
echo $client->get(&#39;new_item_key:d89b561fb759fd533a8c2781ef15dd5f&#39;);

phpredis 클러스터 사용법

<?php
$redis_list = [&#39;10.30.5.162:7000&#39;,&#39;10.30.5.163:7000&#39;,&#39;10.30.5.163:7001&#39;];
$client = new RedisCluster(NUll,$redis_list);
echo $client->get(&#39;new_item_key:d89b561fb759fd533a8c2781ef15dd5f&#39;);

코드 설명

첫 번째 매개변수 NULL이 전달되었습니다. 묻지 마세요. 이유를 모르겠습니다. 어쨌든, 문서를 찾을 수 없었고, 이 기사를 이해하지 못했습니다.

두 번째 매개변수는 연결해야 하는 Redis 클러스터의 마스터 서버 목록입니다. 마스터가 3개 있으니 3개만 채워주세요. 마스터 노드나 슬레이브 노드도 채울 수 있지만 성능에는 차이가 있습니다. 4부

3을 참조하세요. 클러스터 원리

왜 채워야 할까요?

클러스터 모드에서 Redis는 키 관련 명령을 받으면 먼저 키에 해당하는 슬롯을 계산합니다.

슬레이브 노드가 초기화되면 먼저 redis 명령을 보냅니다. 슬레이브 노드로

From 노드는 슬롯에 따라 해당 노드를 찾습니다. 노드가 자신인 경우 키 명령이 처리됩니다.

자신이 아닌 경우 MOVED 리디렉션 오류가 발생하고 클라이언트에 알립니다. 올바른 노드를 요청하세요. 이 프로세스를 MOVED 리디렉션이라고 합니다

PHP에서 Redis 클러스터를 호출하는 방법

리디렉션 정보에는 키에 해당하는 슬롯과 슬롯을 담당하는 노드 주소가 포함되어 있습니다. 이 정보를 기반으로 클라이언트는 올바른 노드

phpredis 클라이언트에 대한 요청을 시작할 수 있습니다. 클라이언트는 리디렉션 정보를 기반으로 키가 있는 노드에 직접 요청을 시작하여 데이터를 얻을 수 있습니다

Predis 클러스터 모드 사용

<?php
use Predis\Client;
require __DIR__ . &#39;/../vendor/autoload.php&#39;;
$redis_list = [
        &#39;tcp://10.30.5.163:7000&#39;,
        &#39;tcp://10.30.5.163:7001&#39;,
        &#39;tcp://10.30.5.162:7000&#39;
];
$redis = new Client($redis_list, [&#39;cluster&#39;=>&#39;redis&#39;]);
echo $redis->get(&#39;new_item_key:d89b561fb759fd533a8c2781ef15dd5f&#39;)

위 내용은 PHP에서 Redis 클러스터를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.