Computer >> Máy Tính >  >> Lập trình >> Redis

Redis Jedis - Cách thực hiện các hoạt động CRUD trên giá trị địa lý bằng cách sử dụng thư viện jedis

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách thực hiện thao tác CRUD trên một giá trị địa lý bằng cách sử dụng thư viện Jedis.

Thư viện Jedis

Jedis là một thư viện máy khách Java cho kho dữ liệu redis. Nó nhỏ và rất dễ sử dụng, và hoàn toàn tương thích với kho dữ liệu redis 2.8.x, 3.x.x trở lên. Bạn có thể tìm thêm thông tin về thư viện jedis tại đây.

Giá trị địa lý

Giá trị không gian địa lý chứa các tọa độ kinh độ và vĩ độ của một vị trí cụ thể trên trái đất, Trong Redis, các phần tử không gian địa lý có thể được lưu trữ trong một giá trị đã được sắp xếp được lưu trữ tại một khóa và các lệnh redis khác nhau được sử dụng để lưu trữ, quản lý và truy xuất giá trị không gian địa lý được lưu trữ trong cơ sở dữ liệu redis . Bạn có thể tìm thêm thông tin về lệnh Địa lý tại đây.

Thiết lập dự án

Tạo một dự án maven đơn giản trong IDE yêu thích của bạn và thêm phần phụ thuộc được đề cập bên dưới vào pom.xml của bạn tệp.

<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>3.0.1</version>
</dependency>

Để biết phiên bản mới nhất của thư viện jedis, hãy xem trang này.

Cài đặt Redis

Bạn sẽ cần cài đặt phiên bản Redis mới nhất. Kiểm tra trang này để biết thêm thông tin về cài đặt redis.

Kết nối Jedis

Tạo một đối tượng của Jedis ( redis.clients.jedis.Jedis ) để kết nối mã java của bạn với redis.

Jedis jedis = new Jedis();

Nếu bạn đã bắt đầu một dịch vụ redis trong máy cục bộ của mình và trên cổng mặc định (6379) thì hàm tạo mặc định sẽ hoạt động tốt. Nếu không, bạn phải chuyển đúng url máy chủ và số cổng. như một đối số trong hàm tạo.

Tạo &Thêm

geoadd được sử dụng để thêm một hoặc nhiều thành viên không gian địa lý trong giá trị không gian địa lý (Tập hợp đã sắp xếp) được lưu trữ tại một khóa.

/* 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);

Nhận Tọa độ địa lý

geopos phương thức được sử dụng để lấy Địa lý (kinh độ, vĩ độ) của một hoặc nhiều thành viên của giá trị không gian địa lý (Tập hợp được sắp xếp) được lưu trữ tại một khóa.

/* Returns GeoCoordinate of London and Paris from <geo-1> */
List geoCoordinates = jedis.geopos("geo-1", "London", "Paris");

Tải GeoHash

thùng rác địa lý phương thức được sử dụng để lấy chuỗi Thùng rác địa lý hợp lệ của một hoặc nhiều thành viên có giá trị không gian địa lý (Bộ được lưu trữ) được lưu trữ tại một khóa.

/* Returns GeoHash String of London and Paris from <geo-1> */
List geoStrings = jedis.geohash("geo-1", "London", "Paris");

Khoảng cách giữa hai thành viên

nhà địa lý học được sử dụng để lấy khoảng cách giữa hai thành viên của giá trị không gian địa lý (Tập hợp đã sắp xếp) được lưu trữ tại một khóa trong đơn vị được chỉ định. Đơn vị có thể được chỉ định bằng m (mét), km (ki lô mét), mi (dặm), ft (đôi chân).

/* Returns Distance between London & Paris in kilometers from <geo-1> */
Double distance = jedis.geodist("geo-1", "London", "Paris", GeoUnit.KM);

Tài liệu tham khảo:-

  1. Tài liệu lệnh địa lý

Đó là tất cả về cách thực hiện thao tác CRUD trên giá trị địa lý bằng cách sử dụng thư viện Jedis. Nếu bạn thích nó, hãy chia sẻ suy nghĩ của bạn trong phần bình luận và chia sẻ nó với những người khác.