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

Redis Jedis – วิธีดำเนินการ CRUD กับค่าทางภูมิศาสตร์โดยใช้ jedis library

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการดำเนินการ 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);

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

  1. เอกสารคำสั่งทางภูมิศาสตร์

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