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

คำสั่ง Redis GEORADIUSBYMEMBER พร้อมตัวอย่าง – Redis Tutorial

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีเก็บองค์ประกอบของค่าเชิงพื้นที่ที่คีย์ ซึ่งอยู่ภายใต้พื้นที่เฉพาะ สำหรับสิ่งนี้ เราจะใช้ Redis GEORADIUSBYMEMBER  คำสั่ง

คำสั่ง GEORADIUSBYMEMBER

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

รัศมีถูกกำหนดโดยใช้หน่วยใดหน่วยหนึ่งต่อไปนี้ :- 

  1. m สำหรับมิเตอร์ ( ค่าเริ่มต้น )
  2. km สำหรับกิโลเมตร
  3. mi เป็นไมล์
  4. ft สำหรับเท้า

อาร์กิวเมนต์ที่ไม่บังคับ

คำสั่ง Redis GEORADIUSBYMEMBER ใช้อาร์กิวเมนต์ที่เป็นทางเลือกต่อไปนี้ :-

  1. WITHDIST :- ส่งกลับระยะทางขององค์ประกอบที่ส่งคืนจากจุดศูนย์กลางของวงกลม หน่วยของระยะทางเหมือนกับหน่วยของอาร์กิวเมนต์รัศมี
  2. WITHCOORD :- ส่งกลับเส้นแวง พิกัดละติจูดขององค์ประกอบที่ส่งคืนทั้งหมด
  3. WITHHASH :- ส่งคืนสตริง Geohash ดิบ (จำนวนเต็มแบบไม่ลงชื่อ 52 บิต) ขององค์ประกอบที่ส่งคืนทั้งหมด สตริง Geohash นี้คือคะแนนขององค์ประกอบในชุดที่จัดเรียง
  4. ASC :- ส่งคืนองค์ประกอบจากลำดับการจัดเรียงใกล้ที่สุดไปไกลที่สุด สัมพันธ์กับจุดศูนย์กลาง โดยค่าเริ่มต้นองค์ประกอบจะถูกส่งกลับในลำดับที่ไม่เรียงลำดับ
  5. DESC :- ส่งกลับองค์ประกอบจากที่ไกลที่สุดไปยังลำดับการจัดเรียงที่ใกล้ที่สุด สัมพันธ์กับจุดศูนย์กลาง
  6. นับ <นับ> :- ส่งกลับองค์ประกอบที่ จำกัด จำนวนแรก องค์ประกอบที่ตรงกัน โดยค่าเริ่มต้น องค์ประกอบที่ตรงกันทั้งหมดจะถูกส่งคืน

คืนค่า

คำสั่งนี้ส่งคืนการตอบกลับอาร์เรย์ด้วยค่าประเภทต่อไปนี้ :-  

  1. ถ้า [ด้วย ] ไม่ได้ระบุอาร์กิวเมนต์ที่เป็นทางเลือก คำสั่งนี้จะส่งคืนอาร์เรย์ที่มีชื่อขององค์ประกอบ
  2. ถ้า WITHCOORD , WITHDIST , ด้วยแฮช มีการระบุตัวเลือก คำสั่งนี้จะส่งคืนอาร์เรย์ของอาร์เรย์ โดยที่แต่ละอาร์เรย์ย่อยแทนองค์ประกอบเดียว รายการแรกในอาร์เรย์ย่อยจะเป็นชื่อขององค์ประกอบที่ส่งคืนเสมอ และข้อมูลอื่น ๆ จะถูกส่งคืนตามลำดับต่อไปนี้ :-
    1. ระยะห่างจากจุดศูนย์กลางเป็นตัวเลขทศนิยม ในหน่วยเดียวกันที่ระบุในรัศมี
    2. จำนวนเต็ม geohash
    3. พิกัดเป็นอาร์เรย์ x,y สองรายการ (ลองจิจูด,ละติจูด)

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

ไวยากรณ์ :-

redis host:post> GEORADIUSBYMEMBER <keyname> <member> <radius> [UNIT] [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]

ผลลัพธ์ :- 

- (array) reply, representing the elements of geospatial values.
- Nil, if key does not exist.
- Error, if key exist and value stored at the key is not a sorted set populated using GEOADD command.

ตัวอย่าง :-

คำสั่ง Redis GEORADIUSBYMEMBER พร้อมตัวอย่าง – Redis Tutorial

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

  1. เอกสารคำสั่ง Redis GEORADIUSBYMEMBER

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

<- คำสั่งทางภูมิศาสตร์