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

วิธีรับองค์ประกอบคะแนนต่ำสุดของชุดที่จัดเรียง – Redis ZPOPMIN | BZPOPMIN

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

คำสั่ง ZPOPMIN

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

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

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

ไวยากรณ์ :-

redis host:post> ZPOPMIN <keyname> <count>

ผลลัพธ์ :-

- (array) reply, representing elements and scores of the sorted set.
- (nil), if key does not exists.
- Error, if key exist and value stored at the key is not a sorted set.

ตัวอย่าง :-

วิธีรับองค์ประกอบคะแนนต่ำสุดของชุดที่จัดเรียง – Redis ZPOPMIN | BZPOPMIN

คำสั่ง BZPOPMIN

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

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

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

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

ไวยากรณ์ :-

redis host:post> BZPOPMIN <keyname> [ <keyname> ] <timeout>

ผลลัพธ์ :-

- (array) reply, three elements are returned where first element is name of the sorted set key, the 
  second element is the score of the popped element and third element is the popped element itself.
- (nil), when no element could be popped and timeout is expired.

ตัวอย่าง :-

วิธีรับองค์ประกอบคะแนนต่ำสุดของชุดที่จัดเรียง – Redis ZPOPMIN | BZPOPMIN

ข้อมูลอ้างอิง :-

  1. เอกสารคำสั่ง ZPOPMIN
  2. เอกสารคำสั่ง BZPOPMIN

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