ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีสร้างและเพิ่มองค์ประกอบในค่า geospatial ที่เก็บไว้ที่คีย์ สำหรับสิ่งนี้ เราจะใช้ Redis GEOADD คำสั่ง
คำสั่ง GEOADD
คำสั่งนี้ใช้เพื่อเพิ่มสมาชิก geospatial ที่ระบุอย่างน้อยหนึ่งรายการในค่า geospatial ที่เก็บไว้ที่คีย์ ค่า geospatial เป็นเพียงชุดที่จัดเรียง ซึ่งเติมโดยใช้คำสั่งนี้ สมาชิกภูมิสารสนเทศถูกเพิ่มในชุดที่จัดเรียงในลักษณะที่ทำให้สามารถดึงข้อมูลสมาชิกในภายหลังโดยใช้แบบสอบถามตามรัศมีด้วยคำสั่ง GEORADIUS และ GEORADIUSBYMEMBER
ชุดที่จัดเรียงจะถูกเติมโดยใช้เทคนิคที่เรียกว่า Geohash ในเทคนิคนี้ บิตละติจูดและลองจิจูดจะถูกแทรกสลับกันเพื่อสร้างจำนวนเต็ม 52 บิตที่ไม่ซ้ำกัน จำนวนเต็ม 52 บิตที่ไม่ซ้ำกันนี้ถูกจัดเก็บเป็นคะแนนของค่าชื่อในชุดที่จัดเรียง
สมาชิกเชิงพื้นที่ประกอบด้วยสามค่า ( ข้อมูล ) เกี่ยวกับตำแหน่ง ลองจิจูด ละติจูด และชื่อ ดังนั้นคำสั่งนี้จึงใช้อาร์กิวเมนต์สามตัวในการเพิ่มสมาชิก geospatial หนึ่งตัว อันดับแรกควรเป็นพิกัดลองจิจูดตามด้วยพิกัดละติจูดและสุดท้ายควรเป็นค่าชื่อ มีการจำกัดค่าพิกัด ( ลองจิจูด ละติจูด ) ที่สามารถเพิ่มในค่าเชิงพื้นที่ได้ ขีดจำกัดที่แน่นอนตามที่ระบุโดย EPSG:900913 / EPSG:3785 / OSGEO:41001 มีดังนี้ :-
- ช่วงลองจิจูดที่ถูกต้องคือตั้งแต่ -180 ถึง 180 องศา
- ละติจูดที่ถูกต้องคือตั้งแต่ -85.05112878 ถึง 85.05112878 องศา
ข้อผิดพลาดถูกส่งกลับเมื่อคำสั่งพยายามเพิ่มพิกัดที่อยู่นอกช่วงที่ระบุนี้
หากมีคีย์อยู่ใน datastore อิลิเมนต์ที่ระบุทั้งหมดจะถูกเพิ่มโดยไม่สนใจองค์ประกอบที่มีอยู่แล้ว ( อัพเดตเฉพาะคะแนน ) ในชุดที่จัดเรียง มิฉะนั้น ชุดที่จัดเรียงใหม่จะถูกสร้างขึ้นก่อนดำเนินการแทรก ไวยากรณ์ของคำสั่ง redis GEOADD มีดังนี้ :-
ไวยากรณ์ :-
redis host:post> GEOADD <keyname> <longitude> <latitude> <name> [longitude latitude name]
ผลลัพธ์ :-
- (integer) value, representing the number of elements added to the sorted set, not including elements that were already existed, whose only score was updated. - Error, if key exist and value stored at the key is not a sorted set populated using GEOADD command.
ตัวอย่าง :-
ข้อมูลอ้างอิง :-
- เอกสารคำสั่ง GEOADD
นั่นคือทั้งหมดสำหรับวิธีสร้างและเพิ่มองค์ประกอบในค่า geospatial ที่จัดเก็บไว้ใน datastore redis หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย