Redis - การวางท่อ
Redis เป็นเซิร์ฟเวอร์ TCP และรองรับโปรโตคอลการร้องขอ / ตอบกลับ ใน Redis คำขอจะทำได้ตามขั้นตอนต่อไปนี้ -
ไคลเอนต์ส่งแบบสอบถามไปยังเซิร์ฟเวอร์และอ่านจากซ็อกเก็ตซึ่งโดยปกติจะเป็นการปิดกั้นการตอบสนองของเซิร์ฟเวอร์
เซิร์ฟเวอร์ประมวลผลคำสั่งและส่งการตอบกลับกลับไปยังไคลเอนต์
ความหมายของการวางท่อ
ความหมายพื้นฐานของการไปป์ไลน์คือไคลเอนต์สามารถส่งคำขอหลายรายการไปยังเซิร์ฟเวอร์โดยไม่ต้องรอการตอบกลับเลยและในที่สุดก็อ่านการตอบกลับในขั้นตอนเดียว
ตัวอย่าง
ในการตรวจสอบการไปป์ไลน์ Redis เพียงแค่เริ่มอินสแตนซ์ Redis และพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล
$(echo -en "PING\r\n SET tutorial redis\r\nGET tutorial\r\nINCR
visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc localhost 6379
+PONG
+OK
redis
:1
:2
:3
ในตัวอย่างข้างต้นเราจะตรวจสอบการเชื่อมต่อ Redis โดยใช้ PINGคำสั่ง เราได้ตั้งชื่อสตริงtutorial ด้วยคุณค่า redis. ต่อมาเราจะได้รับค่าคีย์นั้นและเพิ่มจำนวนผู้เยี่ยมชมสามครั้ง จากผลที่ได้เราจะเห็นว่าคำสั่งทั้งหมดถูกส่งไปยัง Redis เพียงครั้งเดียวและ Redis ให้ผลลัพธ์ของคำสั่งทั้งหมดในขั้นตอนเดียว
ประโยชน์ของการวางท่อ
ประโยชน์ของเทคนิคนี้คือประสิทธิภาพของโปรโตคอลที่ดีขึ้นอย่างมาก การเร่งความเร็วที่ได้รับจากการไปป์ไลน์มีตั้งแต่ปัจจัย 5 สำหรับการเชื่อมต่อกับ localhost ไปจนถึงปัจจัยอย่างน้อยหนึ่งร้อยในการเชื่อมต่ออินเทอร์เน็ตที่ช้าลง