Lập trình Go 22/09/2026 10 phút

go-redis pipeline: gộp nhiều lệnh Redis vào một round-trip

Gửi N lệnh Redis tuần tự là N vòng đi-về mạng — với remote Redis, gần như toàn bộ thời gian là chờ mạng chứ không phải chờ Redis. Pipeline xếp N lệnh rồi gửi hết, đọc hết trong một round-trip. Đo thật trong Go: 1000 lệnh SET tuần tự mất 1.431s, pipeline chỉ 10ms — nhanh 140 lần.

Lập trình 22/09/2026 6 phút

Pipeline trong Redis: cắt round-trip để throughput tăng 13 lần, và vì sao nút thắt là mạng chứ không phải Redis

Redis xử lý lệnh trong phần trăm mili-giây, nhưng nếu client gửi từng lệnh một và chờ reply, phần lớn thời gian là chờ mạng (round-trip) chứ không phải Redis làm việc. Pipeline gộp nhiều lệnh vào một lần gửi để cắt số round-trip. Bài này đo thật trong redis-lab: cùng một kết nối, SET đạt 333.889 lệnh/giây ở P=1 nhưng 4.444.444 lệnh/giây ở P=50 — nhanh ~13 lần. Và pipeline khác transaction thế nào.