Redis는 문자열, 해시, 목록, 컬렉션 및 주문 컬렉션과 같은 다양한 데이터 구조를 지원하는 고성능 키 가치 저장 시스템입니다. PUB/SUB (Pub/Sub) 메커니즘을 사용하면 게시자와 가입자간에 메시지를 전달할 수있어 실시간 정보 순환을 달성합니다. 게시자는 메시지를 지정된 채널로 보냅니다. 가입자는 채널에서 메시지를 듣고 수신합니다.
PHP에서 Redis를 사용하기 전에 PECL 또는 소스 코드를 통해 설치할 수있는 Redis 확장 기능을 설치해야합니다. 설치가 완료되면 Redis 클라이언트를 생성하고 다음 코드를 사용하여 서버에 연결하십시오.
//aRedis클라이언트 객체
$redis = new Redis();
//연결하다Redis섬기는 사람
$redis->connect('127.0.0.1', 6379);
여기서 연결 방법은 Redis 서버의 IP 주소와 포트 번호를 매개 변수로 수락합니다.
$ redis-> publish () 메소드를 통해 PHP는 지정된 채널로 메시지를 보낼 수 있습니다. 코드 예제는 다음과 같습니다.
//지정된 채널에 메시지를 게시하십시오
$redis->publish($channel, $message);
여기서 $ 채널 은 채널 이름이고 $ 메시지는 게시 된 메시지 내용입니다.
$ redis-> subscribe () 메소드를 사용하여 PHP는 하나 이상의 채널을 구독하고 메시지를들을 수 있습니다. 예제는 다음과 같습니다.
//지정된 채널을 구독하십시오
$redis->subscribe([$channel1, $channel2], $callback);
매개 변수에서 $ channel1 및 $ channel2는 채널 이름의 배열이며, $ 콜백은 메시지를 수신 할 때 실행되는 콜백 함수이며 콜백에서 메시지를 처리 할 수 있습니다.
다음 예제는 PHP에 메시지를 게시하고 지정된 채널을 듣는 방법을 보여줍니다.
//aRedis클라이언트 객체
$redis = new Redis();
//연결하다Redis섬기는 사람
$redis->connect('127.0.0.1', 6379);
//게시 할 채널 이름을 지정하십시오
$channel = 'my_channel';
//지정된 채널에 메시지를 게시하십시오
$redis->publish($channel, 'Hello, Redis!');
//듣기 시작합니다,채널 메시지를 기다리고 있습니다
$redis->subscribe([$channel], function($redis, $channel, $message) {
echo "Received message from channel {$channel}: {$message}\n";
});
이 예에서 먼저 Redis 서버에 연결 한 다음 My_Channel 채널에 메시지를 게시 한 다음 구독 청취를 시작하십시오. 채널이 메시지를 받으면 콜백 함수는 메시지 내용을 인쇄합니다.
Redis의 게시/구독 기능은 실시간 메시징을위한 효율적인 메커니즘을 제공합니다. PHP의 Redis 확장 기능을 통해 개발자는 게시 및 가입 메시지를 쉽게 구현하여 유연한 메시지 처리 응용 프로그램을 구축 할 수 있습니다.