TIL

10. Pipelining

문제: RTT 비용

동작

# 일반: 명령마다 왕복
SET k1 v1     # → OK   (왕복 1)
SET k2 v2     # → OK   (왕복 2)

# 파이프라이닝: 응답을 안 기다리고 연속 전송 후 응답을 한꺼번에 수신
SET k1 v1
SET k2 v2
SET k3 v3     # 세 명령 연속 전송 → 응답 3개를 한 번에 받음 (왕복 1회)

원자성 없음 (가장 중요)

명령 묶기 3종 비교

기준 파이프라이닝 트랜잭션(MULTI/EXEC) Lua
목적 RTT 절감(전송 배치) 원자적 일괄 실행 원자적 read-modify-write
원자성·격리 없음(끼어듦 가능) 있음 있음
결과 기반 분기 불가 불가(EXEC 전엔 값 없음) 가능(서버 로직)
RTT 1회 1회(보통 파이프라인됨) 1회(EVALSHA)
적합 서로 독립적인 대량 명령 묶어서 원자 실행 조건부 원자 연산

한계와 주의

사용

참고