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

เชี่ยวชาญ Redis ZREVRANGEBYLEX: ดึงสมาชิก Sorted Set ตามช่วงค่าแบบเรียงลำดับย้อนกลับ

ในบทเรียนนี้ เราจะเรียนรู้วิธีการดึงสมาชิกทั้งหมดของ Sorted Set ที่มีค่าอยู่ในช่วงเฉพาะ และเรียงลำดับแบบ Lexicographical แบบ Descending (มากไปน้อย) โดยใช้คำสั่ง Redis ZREVRANGEBYLEX

คำสั่ง ZREVRANGEBYLEX

คำสั่งนี้ส่งคืนสมาชิกทั้งหมดของค่า Sorted Set ที่จัดเก็บที่ Key ที่ระบุ ซึ่งมีค่า (การแสดงผลแบบสตริงของสมาชิก) อยู่ระหว่างอาร์กิวเมนต์ max และ min ที่นี่ สมาชิกทั้งหมดในค่า Sorted Set จะถูกแทรกด้วย Score เดียวกัน เพื่อบังคับให้เรียงลำดับแบบ Lexicographical สมาชิกที่ส่งคืนจะอยู่ในลำดับ Lexicographical แบบ Descending

อาร์กิวเมนต์ max และ min ต้องขึ้นต้นด้วย ( หรือ [ โดยที่ [ ระบุช่วงปิด (Inclusive) และ ( ระบุช่วงเปิด (Exclusive) ตัวอย่างเช่น :-

ZREVRANGEBYLEX set [f [a

จะส่งคืนสมาชิกทั้งหมดที่ f >= สมาชิก >= a ในขณะที่:

ZREVRANGEBYLEX set [f (a

จะส่งคืนสมาชิกทั้งหมดที่ f >= สมาชิก > a

อาร์กิวเมนต์ max และ min สามารถมีค่าพิเศษเป็น + หรือ - โดยที่ + ระบุสตริงอนันต์บวก และ - ระบุสตริงอนันต์ลบ ดังนั้นคำสั่ง ZREVRANGEBYLEX set + - จะส่งคืนสมาชิกทั้งหมดของค่า Sorted Set

อาร์กิวเมนต์ LIMIT (optional) สามารถส่งผ่านในคำสั่งได้ เพื่อดึง count สมาชิกที่ตรงกัน เริ่มจาก offset หากค่า count เป็น negative แล้ว จะส่งคืนสมาชิกทั้งหมดจาก offset ตัวอย่างเช่น:-

ZREVRANGEBYLEX set [f [a LIMIT 1 3 Where set = [a, b, c, d, e, f, g, h] 

จะส่งคืน 3 สมาชิกที่ตรงกัน เริ่มจากสมาชิกที่ 2 ที่ตรงกัน คือ [e, d, c]

จะส่งคืน Empty Set หาก Key ไม่มีอยู่ และจะส่งคืน Error หาก Key มีอยู่แต่ค่าที่จัดเก็บที่ Key ไม่ใช่ชนิดข้อมูล Sorted Set ไวยากรณ์ของคำสั่ง Redis ZREVRANGEBYLEX มีดังนี้:-

ไวยากรณ์ (Syntax) :-

redis host:port> ZREVRANGEBYLEX <keyname> <max> <min> [LIMIT offset count]

ผลลัพธ์ (Output) :-

- (array) reply, แสดงสมาชิกของ Sorted Set ในช่วงที่ระบุ - Empty Set, หาก Key ไม่มีอยู่ - Error, หาก Key มีอยู่และค่าที่จัดเก็บที่ Key ไม่ใช่ Sorted Set 

ตัวอย่าง (Example) :-

เชี่ยวชาญ Redis ZREVRANGEBYLEX: ดึงสมาชิก Sorted Set ตามช่วงค่าแบบเรียงลำดับย้อนกลับ

อ้างอิง (References) :-

  1. ZREVRANGEBYLEX Command Docs

ขอจบบทเรียนเรื่องวิธีดึงสมาชิกทั้งหมดของ Sorted Set ที่มีค่าอยู่ในช่วงเฉพาะและเรียงลำดับแบบ Descending หากชอบ กรุณาแชร์ความคิดเห็นในส่วนความคิดเห็นและแชร์ให้คนอื่นๆ ด้วยนะครับ