ในบทเรียนนี้ เราจะเรียนรู้วิธีการสมัครรับข้อความ (subscribe) จาก channel หลายรายการในระบบ message broker ของ Redis โดยใช้ redis-cli
คำสั่ง SUBSCRIBE
คำสั่ง SUBSCRIBE ใช้สำหรับสมัครรับข้อความของ client จาก channel ที่ระบุหนึ่งหรือหลายรายการในระบบ message broker ของ Redis เมื่อ client รันคำสั่ง subscribe จะเข้าสู่สถานะ subscribed ซึ่งจะรอฟัง channel ที่สมัครไว้ ข้อความที่เผยแพร่โดย client อื่นไปยัง channel ที่ระบุจะถูก push โดย Redis ไปยัง client ทั้งหมดที่สมัครรับ
เมื่อ client อยู่ในสถานะ subscribed จะไม่ควรรันคำสั่งอื่น ยกเว้น SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, PUNSUBSCRIBE, PING และ QUIT เท่านั้น ใน redis-cli เมื่อ client อยู่ในสถานะ subscribed จะไม่รับคำสั่งอื่น และสามารถออกจากสถานะได้เฉพาะด้วย Ctrl + C
Syntax
redis host:port> SUBSCRIBE <channel> [<channel> ...]
Output
- (array) reply of 3 elements
รูปแบบข้อความที่ส่งมา (Pushed Message)
ข้อความเป็น array reply ที่มี 3 องค์ประกอบ องค์ประกอบแรกมีลักษณะดังนี้:
- subscribe: หมายถึงสมัครรับ channel ที่เป็นองค์ประกอบที่สองสำเร็จ อาร์กิวเมนต์ที่สามแสดงจำนวน channel ที่สมัครรับอยู่
- message: เป็นข้อความที่รับมาจากคำสั่ง PUBLISH ของ client อื่น องค์ประกอบที่สองคือชื่อ channel ต้นทาง และอาร์กิวเมนต์ที่สามคือข้อความจริง (payload)
ตัวอย่าง

อ้างอิง
- SUBSCRIBE Command Docs
ขอจบบทเรียนสำหรับวิธีสมัครรับข้อความจาก channel หนึ่งหรือหลายรายการใน Redis message broker โดยใช้ redis-cli หากชอบบทเรียนนี้ กรุณาแบ่งปันความคิดเห็นและแชร์ให้ผู้อื่นด้วยครับ