Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

วิธีลบและส่งคืนองค์ประกอบสุดท้ายของรายการ – Redis RPOP | BRPOP

ในบทแนะนำนี้ เราจะเรียนรู้เกี่ยวกับวิธีลบและส่งคืนองค์ประกอบสุดท้ายของค่ารายการที่เก็บอยู่ที่คีย์ในที่เก็บข้อมูล redis สำหรับสิ่งนี้ เราจะใช้ redis RPOP และ BRPOP คำสั่ง

คำสั่ง RPOP

คำสั่งนี้ใช้เพื่อลบและส่งคืนองค์ประกอบสุดท้ายของค่ารายการที่เก็บอยู่ในคีย์ที่ระบุ ค่า Nil จะถูกส่งคืน หากไม่มีคีย์และข้อผิดพลาดถูกส่งคืน หากมีคีย์ แต่ค่าที่เก็บไว้ที่คีย์ไม่ใช่ประเภทข้อมูลของรายการ ไวยากรณ์ของคำสั่ง Redis RPOP มีดังนี้:-

ไวยากรณ์ :-

โฮสต์ซ้ำ:โพสต์> RPOP 

ผลลัพธ์ :-

- (สตริง) ตอบกลับแทนองค์ประกอบสุดท้ายของ list.- (ไม่มี) หากคีย์ไม่มีอยู่- ข้อผิดพลาดหากมีคีย์และค่าที่เก็บไว้ที่คีย์ไม่ใช่รายการ

ตัวอย่าง :-

วิธีลบและส่งคืนองค์ประกอบสุดท้ายของรายการ – Redis RPOP | BRPOP

คำสั่ง BRPOP

คำสั่งนี้เป็นคำสั่ง RPOP เวอร์ชันบล็อก เนื่องจากจะบล็อกการดำเนินการเมื่อไม่มีองค์ประกอบที่จะแสดงจากรายการที่ระบุ กล่าวคือจะบล็อกการดำเนินการเมื่อรายการที่ระบุทั้งหมดว่างเปล่าหรือไม่มีคีย์ที่ระบุทั้งหมด

โดยจะลบและส่งคืนองค์ประกอบสุดท้ายของค่ารายการที่ไม่ว่างเปล่า โดยมีการตรวจสอบคีย์ที่ระบุจากซ้ายไปขวา ตัวอย่างเช่น ถ้าคำสั่ง BRPOP list1 list2 list3 0 ถูกดำเนินการ โดยที่คีย์ list1 ไม่มีอยู่ (ถือว่าเป็นรายการที่ว่างเปล่า ), list2 เป็นรายการว่างและ list3 มีสามองค์ประกอบ จากนั้นจะลบและส่งคืนองค์ประกอบสุดท้ายของค่ารายการที่เก็บอยู่ที่ list3 เนื่องจากเป็นรายการแรกที่ไม่ว่างเปล่า เมื่อตรวจสอบจาก list1 ถึง list3

หากไม่มีคีย์ที่ระบุหรือค่ารายการของคีย์ที่ระบุว่างเปล่า BRPOP จะบล็อกการดำเนินการจนกว่าไคลเอ็นต์อื่นจะเรียกใช้คำสั่ง เช่น LPUSH, RPUSH และ LINSERT เพื่อแทรกองค์ประกอบในคีย์ที่ระบุ เมื่อมีองค์ประกอบใหม่ในค่ารายการใดค่าหนึ่ง ไคลเอ็นต์จะส่งคืนพร้อมกับชื่อของคีย์ที่ปลดล็อกและค่าที่ปรากฏขึ้น

เมื่อ BRPOP ทำให้ไคลเอ็นต์บล็อกและระบุระยะหมดเวลาที่ไม่ใช่ศูนย์ ไคลเอ็นต์จะปลดล็อกค่าศูนย์ที่ส่งคืนเมื่อหมดเวลาที่ระบุโดยไม่ได้ดำเนินการแทรกกับคีย์ที่ระบุอย่างน้อยหนึ่งคีย์

อาร์กิวเมนต์การหมดเวลาคือค่าจำนวนเต็มที่แสดงจำนวนวินาทีสูงสุดที่จะบล็อก สามารถใช้การหมดเวลา 0 วินาทีเพื่อบล็อกได้ไม่มีกำหนด

ไวยากรณ์ของคำสั่ง Redis BRPOP มีดังนี้ :-

ไวยากรณ์ :-

redis host:post> BRPOP  [  ] 

ผลลัพธ์ :-

- (อาร์เรย์) ตอบกลับ องค์ประกอบสองรายการจะถูกส่งคืนโดยองค์ประกอบแรกคือชื่อของคีย์องค์ประกอบที่แตก และองค์ประกอบที่สองคือองค์ประกอบที่แตกเอง- (ไม่มี) เมื่อองค์ประกอบใดไม่สามารถปรากฏขึ้นและหมดเวลาได้ 

ตัวอย่าง :-

วิธีลบและส่งคืนองค์ประกอบสุดท้ายของรายการ – Redis RPOP | BRPOP

อ้างอิง :-

  1. เอกสารคำสั่ง RPOP
  2. เอกสารคำสั่ง BRPOP

นั่นคือทั้งหมดสำหรับวิธีลบและส่งคืนองค์ประกอบสุดท้ายของค่ารายการที่จัดเก็บไว้ใน datastore redis หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย

<- รายการคำสั่ง