pipelining은 각 명령어의 응답을 기다린 뒤 다음을 보내는 대신 여러 Redis 명령어를 하나의 네트워크 왕복으로 보냅니다. 많은 명령어를 발행할 때 처리량을 극적으로 향상시킵니다. Redis 자체가 아니라 네트워크 지연이 종종 병목이기 때문입니다.
문제: 왕복 지연
보통 각 명령어가 요청→응답 왕복:
GET 전송 → 응답 대기 → GET 전송 → 응답 대기 → ... (N × 네트워크 지연)
→ Redis는 각 명령어를 마이크로초에 처리하지만, 각 왕복이 네트워크 지연
(예: 0.5ms)을 추가. 1000 명령어면 단지 대기에 ~500ms!
pipelining: 명령어 배칭
pipeline = redis.();
( id userIds) pipeline.();
results = pipeline.();
