connect($host, (int)$port, $timeout); if (!$success) { log_message('error', "Redis connection failed: {$host}:{$port}"); return false; } // 비밀번호 인증 (있는 경우) if (!empty($password)) { $redis->auth($password); } // 데이터베이스 선택 $redis->select((int)$database); return $redis; } catch (\RedisException $e) { log_message('error', "Redis connection error: " . $e->getMessage()); return false; } } } if (!function_exists('get_redis_config')) { /** * Redis 설정 정보를 배열로 반환 * * @param string $type 'worker' 또는 'session' * @return array Redis 설정 배열 */ function get_redis_config(string $type = 'worker'): array { if ($type === 'session') { return [ 'host' => env('SESSION_REDIS_HOST', '127.0.0.1'), 'port' => env('SESSION_REDIS_PORT', '6379'), 'database' => env('SESSION_REDIS_DATABASE', '0'), 'password' => env('SESSION_REDIS_PASSWORD', ''), ]; } return [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_DATABASE', '9'), 'password' => env('REDIS_PASSWORD', ''), ]; } }