ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการดำเนินการ CRUD กับค่าทางภูมิศาสตร์โดยใช้ไลบรารี Jedis
ห้องสมุดเจดิส
Jedis เป็นไลบรารีไคลเอ็นต์ Java สำหรับที่เก็บข้อมูล Redis มันมีขนาดเล็กและใช้งานง่ายมาก และเข้ากันได้อย่างสมบูรณ์กับ redis 2.8.x, 3.x.x และที่เก็บข้อมูลด้านบน คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุดเจดิสได้ที่นี่
มูลค่าทางภูมิศาสตร์
ค่าเชิงพื้นที่ประกอบด้วยพิกัดลองจิจูดและละติจูดของสถานที่หนึ่งๆ บนโลก ใน Redis องค์ประกอบเชิงพื้นที่สามารถจัดเก็บในค่าชุดที่จัดเรียงซึ่งจัดเก็บไว้ที่คีย์ และใช้คำสั่ง redis ต่างๆ เพื่อจัดเก็บ จัดการ และดึงข้อมูลค่า geospatial ที่จัดเก็บไว้ในฐานข้อมูล redis . ดูข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งภูมิศาสตร์ได้ที่นี่
การตั้งค่าโครงการ
สร้างโปรเจ็กต์ maven อย่างง่ายใน IDE ที่คุณชื่นชอบและเพิ่มการพึ่งพาที่กล่าวถึงด้านล่างใน pom.xml ของคุณ ไฟล์.
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1</version> </dependency>
สำหรับไลบรารี jedis เวอร์ชันล่าสุด ตรวจสอบหน้านี้
การติดตั้ง Redis
คุณจะต้องติดตั้ง Redis เวอร์ชันล่าสุด ตรวจสอบหน้านี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้ง redis
การเชื่อมต่อของเจดิส
สร้างวัตถุของ เจดิส ( redis.clients.jedis.Jedis ) คลาสสำหรับเชื่อมต่อโค้ด java ของคุณกับ redis
Jedis jedis = new Jedis();
หากคุณได้เริ่มบริการ redis หนึ่งรายการในเครื่องของคุณ และบนพอร์ตเริ่มต้น (6379) คอนสตรัคเตอร์เริ่มต้นก็จะทำงานได้ดี มิฉะนั้น คุณต้องส่ง URL โฮสต์และหมายเลขพอร์ตที่ถูกต้อง เป็นอาร์กิวเมนต์ในตัวสร้าง
สร้างและเพิ่ม
เพิ่มพิกัด เมธอดใช้เพื่อเพิ่มสมาชิกภูมิสารสนเทศอย่างน้อยหนึ่งรายการในค่าเชิงพื้นที่ ( Sorted Set ) ที่จัดเก็บไว้ที่คีย์
/* Insert London Geo Coordinate in <geo-1> */ jedis.geoadd("geo-1", 51.5074, 0.1278, "London"); /* Insert London and Paris Geo Coordinate in <geo-2> */ Map<String,GeoCoordinate> map = new HashMap<String, GeoCoordinate>(); map.put("London", new GeoCoordinate(51.5074, 0.1278)); map.put("Paris", new GeoCoordinate(48.8566, 2.3522)); jedis.geoadd("geo-2", map);
รับพิกัดทางภูมิศาสตร์
ตำแหน่งทางภูมิศาสตร์ เมธอดใช้เพื่อรับ GeoCoordinate (ลองจิจูด ละติจูด) ของสมาชิกอย่างน้อยหนึ่งค่าเชิงพื้นที่ ( Sorted Set ) ที่จัดเก็บไว้ที่คีย์
/* Returns GeoCoordinate of London and Paris from <geo-1> */ List geoCoordinates = jedis.geopos("geo-1", "London", "Paris");
รับ GeoHash
geohash เมธอดใช้เพื่อรับสตริง Geohash ที่ถูกต้องของสมาชิกอย่างน้อยหนึ่งรายการของค่า geospatial ( Stored Set ) ที่จัดเก็บไว้ในคีย์
/* Returns GeoHash String of London and Paris from <geo-1> */ List geoStrings = jedis.geohash("geo-1", "London", "Paris");
ระยะห่างระหว่างสมาชิกสองคน
นักภูมิศาสตร์ เมธอดใช้เพื่อรับระยะห่างระหว่างสมาชิกสองคนของค่า geospatial ( Sorted Set ) ที่เก็บไว้ในคีย์ในหน่วยที่ระบุ สามารถระบุหน่วยเป็น m (เมตร) กม (กิโลเมตร) ไมล์ (ไมล์), ฟุต (เท้า).
/* Returns Distance between London & Paris in kilometers from <geo-1> */ Double distance = jedis.geodist("geo-1", "London", "Paris", GeoUnit.KM);
ข้อมูลอ้างอิง :-
- เอกสารคำสั่งทางภูมิศาสตร์
นั่นคือทั้งหมดสำหรับวิธีดำเนินการ CRUD กับค่าทางภูมิศาสตร์โดยใช้ไลบรารี Jedis หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย