
SwooleRedisServer::setHandler 함수는 Redis 서버에서 요청을 처리하는 로직을 정의하는 함수입니다. 이 함수에 전달되는 파라미터는 Redis 서버가 처리해야 하는 요청의 유형을 나타냅니다.
파라미터는 다음과 같습니다.
- $fd: 클라이언트의 파일 디스크립터
- $redis: Redis 서버 객체
- $data: 요청 데이터
- $id: 요청 ID
Redis 서버가 요청을 처리하는 로직은 다음과 같습니다.
1. Redis 서버가 요청을 수신하면, setHandler 함수가 호출됩니다.
2. setHandler 함수는 파라미터를 분석하여 요청의 유형을 결정합니다.
3. 요청의 유형에 따라 적절한 처리 로직이 호출됩니다.
4. 처리 로직이 완료되면, 결과가 클라이언트로 반환됩니다.
예제를 통해 이해를 돕겠습니다.
#hostingforum.kr
php
use SwooleCoroutineRedis;
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$swooleRedis = new SwooleRedis();
$swooleRedis->setHandler(function ($fd, $redis, $data, $id) {
if ($data[0] == 'SET') {
// SET 명령어 처리
$redis->set($data[1], $data[2]);
$redis->write($fd, "OK");
} elseif ($data[0] == 'GET') {
// GET 명령어 처리
$value = $redis->get($data[1]);
$redis->write($fd, $value);
}
});
$swooleRedis->start();
이 예제에서는 SET 및 GET 명령어를 처리하는 로직이 정의되어 있습니다. Redis 서버가 SET 명령어를 수신하면, SET 명령어 처리 로직이 호출되어 데이터가 저장됩니다. GET 명령어를 수신하면, GET 명령어 처리 로직이 호출되어 데이터가 반환됩니다.
2025-06-08 05:29