Redis는 문자열, 해시, 목록, 컬렉션 등과 같은 여러 데이터 구조를 지원하는 오픈 소스 메모리 데이터 구조 스토리지 시스템입니다. 또한 메시지 구독 및 게시 기능을 제공하여 클라이언트가 지정된 채널을 구독하고 채널에 새 메시지를 게시 할 때 알림을받을 수 있습니다. 이 기사는 PHP에서 구독 및 Redis 메시지의 지속적인 청취를 구현하는 방법을 소개합니다.
Redis Extension을 사용하기 전에 먼저 설치해야합니다. PECL 명령을 통해 설치하고 다음 명령을 실행할 수 있습니다.
시스템이 PECL을 설치하지 않은 경우 다음 명령을 통해 설치할 수 있습니다.
Redis Extension 패키지를 설치 한 후 다음 단계는 Redis 서버에 연결하는 것입니다. Redis 클래스의 연결 방법을 사용하여 연결을 설정하십시오. 코드 예제는 다음과 같습니다.
위 코드에서 Connect 메소드의 첫 번째 매개 변수는 Redis 서버의 IP 주소이며 두 번째 매개 변수는 포트 번호입니다. 연결이 성공하면 프로그램이 "Redis Connected"메시지를 출력합니다.
Redis에 성공적으로 연결 한 후 메시지 채널에 가입하고 메시지 처리를 시작할 수 있습니다. Redis는 구독 및 psubscribe 방법을 제공합니다.
구독 방법은 아래와 같이 하나 이상의 지정된 채널을 가입합니다.
위의 코드에서 구독 메소드의 첫 번째 매개 변수는 채널 배열이고 두 번째 매개 변수는 콜백 함수입니다. 콜백 함수는 메시지를 수신 한 후에 실행됩니다.
psubscribe 메소드는 와일드 카드 문자를 사용하여 여러 채널을 구독하는 것을 지원합니다. 예제는 다음과 같습니다.
위의 코드는 '채널'으로 시작하는 모든 채널에 가입하는 것을 의미합니다.
프로그램이 메시지를 지속적으로 듣고 실시간으로 처리하기 위해서는 메시지를 지속적으로 듣는 데 사용될 수 있습니다. 이 기능을 구현하는 코드는 다음과 같습니다.
이 코드에서 while 루프는 핑 방법을 통해 Redis 연결이 정상인지 여부를 지속적으로 감지하고 1 초에 한 번 잠을 잤습니다.
다음은 Redis 메시지 구독 및 지속적인 청취를 구현하기위한 완전한 PHP 코드 예제입니다.
이 기사를 통해 PHP의 Redis Extension 패키지를 사용하여 구독 및 Redis 메시지를 프로세스하는 방법을 배웠습니다. 우리는 메시지 채널에 메소드를 구독하고 psubscribe하는 방법을 설명하고 While Loop을 사용하여 메시지를 지속적으로 듣고 모든 수신 된 메시지가 실시간으로 처리되도록합니다.