ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีใช้พื้นที่เก็บข้อมูล redis เป็นระบบส่งข้อความสำหรับเผยแพร่/สมัครรับข้อมูล
ระบบ Redis Pub/Sub
Redis ใช้กระบวนทัศน์การส่งข้อความ Publish/Subscribe ตามกระบวนทัศน์การส่งข้อความนี้ ผู้ส่ง ( Publisher ) ของข้อความไม่ได้รับการตั้งโปรแกรมให้ส่งข้อความโดยตรงไปยังผู้รับเฉพาะ ( Subscriber ) พวกเขาส่ง ( เผยแพร่ ) ข้อความของตนไปยังช่องใดช่องหนึ่ง โดยไม่ทราบว่าผู้รับ ( Subscriber ) รายใดจะใช้ข้อความนั้นหรือไม่ ผู้รับ (subscriber) ที่ต้องการเสพข้อความแสดงความสนใจโดยสมัครรับข้อมูลจากช่องทางใดช่องทางหนึ่งหรือมากกว่า และจะได้รับข้อความที่เผยแพร่ไปยังช่องเหล่านั้นเท่านั้น โดยไม่ทราบว่าผู้ส่ง ( Publisher ) เป็นผู้ส่งข้อความใด .
ในคำศัพท์เฉพาะของ Redis ผู้ส่งข้อความจะเรียกว่า Publisher เนื่องจากพวกเขาเผยแพร่ข้อความไปยังช่องสัญญาณ และผู้รับข้อความจะเรียกว่า Subscriber เนื่องจากพวกเขาสมัครรับข้อมูลจากช่องสัญญาณอย่างน้อยหนึ่งช่องเพื่อใช้ข้อความ ข้อความสามารถประกอบด้วยข้อมูลประเภทใดก็ได้ อาจเป็นข้อความธรรมดา หรืออาจเป็นข้อมูลเกี่ยวกับงานก็ได้ ผู้ติดตามสามารถติดตามช่องจำนวนเท่าใดก็ได้และผู้เผยแพร่สามารถเผยแพร่ข้อความไปยังช่องใดก็ได้
การแยกส่วนของผู้เผยแพร่และผู้สมัครสมาชิกนี้ทำให้สามารถปรับขนาดและความยืดหยุ่นได้
Redis Pub Sub ไม่มีความสัมพันธ์กับฐานข้อมูล Redis Key-Value ไม่รบกวนการทำงานในทุกระดับ รวมทั้งหมายเลขฐานข้อมูล ตัวอย่างเช่น หากผู้เผยแพร่เผยแพร่ข้อความบน db index 10 สมาชิกใน db index 1 จะได้รับข้อความ
คำสั่งย่อย Redis Pub :-
คำสั่งที่สำคัญทั้งหมดที่เกี่ยวข้องกับ redis pub sub มีดังนี้:-
ส.ไม่ใช่ | คำสั่ง | คำอธิบาย |
---|---|---|
1 | สมัครสมาชิก | สมัครรับข้อมูลจากช่องที่ตรงกับรูปแบบที่กำหนดอย่างน้อยหนึ่งช่อง |
2 | PUBSUB | แจ้งสถานะของระบบ Pub/Sub |
3 | เผยแพร่ | เผยแพร่ข้อความไปยังช่องเฉพาะ |
4 | PUNSUBSCRIBE | ยกเลิกการสมัครรับข้อมูลจากช่องที่ตรงกับรูปแบบที่กำหนดอย่างน้อยหนึ่งช่อง |
5 | สมัครสมาชิก | สมัครรับข้อมูลจากหนึ่งช่องหรือมากกว่า |
6 | ยกเลิกการสมัคร | ยกเลิกการสมัครจากช่องหนึ่งช่องขึ้นไป |
ตัวอย่าง :-
ในตัวอย่างนี้ เราจะใช้ redis-cli สามอินสแตนซ์ที่แตกต่างกันเพื่อสาธิตระบบย่อย redis pub โดยที่ลูกค้ารายหนึ่งสมัครรับข้อมูลจากสองช่อง C1 และ C2 และลูกค้าอีก 2 รายกำลังเผยแพร่ข้อความไปยังช่อง C1 และช่อง C2 ตามลำดับ
1. ลูกค้ารายแรกสมัครรับข้อมูล C1 และ C2 ช่อง
2. ลูกค้ารายที่สองกำลังเผยแพร่ สวัสดี ข้อความถึงช่อง C1
3. ลูกค้ารายที่สามกำลังเผยแพร่ โลก ข้อความถึงช่อง C2
4. ลูกค้ารายแรกแสดงข้อความพุชจากช่อง C1 และ C2
ข้อมูลอ้างอิง :-
- เอกสารคำสั่งย่อยผับ
หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย