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

Redis GEORADIUS - Cách lấy các yếu tố có giá trị địa lý bên trong một khu vực cụ thể

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách lấy các phần tử của giá trị không gian địa lý được lưu trữ tại một khóa, thuộc khu vực cụ thể. Đối với điều này, chúng tôi sẽ sử dụng Redis GEORADIUS lệnh.

Lệnh GEORADIUS

Lệnh này được sử dụng để trả về một hoặc nhiều 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, bên trong đường viền của khu vực được tính bằng cách sử dụng các đối số kinh độ, vĩ độ và bán kính. Diện tích này được tính bằng cách sử dụng giá trị kinh độ, vĩ độ được chỉ định làm vị trí tâm của hình tròn và bán kính theo đơn vị cụ thể là bán kính của hình tròn.

Bán kính được chỉ định bằng cách sử dụng một trong các đơn vị sau:-

  1. m cho đồng hồ đo (mặc định).
  2. km hàng km.
  3. mi hàng dặm.
  4. ft cho đôi chân.

Đối số tùy chọn

Lệnh Redis GEORADIUS nhận các đối số tùy chọn sau:-

  1. CÙNG NGHE:- Nó trả về khoảng cách của các phần tử được trả về từ tâm của vòng tròn. Đơn vị khoảng cách giống như đơn vị của đối số bán kính.
  2. CÓ LỖI:- Nó trả về kinh độ, vĩ độ của tất cả các phần tử được trả về.
  3. BẰNG TIỀN:- Nó trả về chuỗi Geohash thô (số nguyên 52 bit không dấu) của tất cả các phần tử được trả về. Chuỗi Geohash này là điểm của một phần tử trong tập hợp đã sắp xếp.
  4. ASC:- Nó trả về các phần tử từ thứ tự sắp xếp gần nhất đến xa nhất, so với trung tâm. Theo mặc định, các phần tử được trả về theo thứ tự không được sắp xếp.
  5. MÔ TẢ:- Nó trả về các phần tử từ thứ tự sắp xếp xa nhất đến gần nhất, so với trung tâm.
  6. ĐẾM < count >:- Nó trả về các phần tử được giới hạn ở số lượng đầu tiên các yếu tố phù hợp. Theo mặc định, tất cả các phần tử phù hợp đều được trả về.

Giá trị trả lại

Lệnh này trả về một phản hồi mảng với loại giá trị sau:-

  1. Nếu [ VỚI ] đối số tùy chọn không được chỉ định, lệnh này trả về một mảng chứa tên của phần tử.
  2. If WITHCOORD , CÓ NGHE , WITHHASH các tùy chọn được chỉ định, lệnh này trả về một mảng mảng, trong đó mỗi mảng con đại diện cho một phần tử duy nhất. Mục đầu tiên trong mảng con luôn là tên của phần tử được trả về và các thông tin khác được trả về theo thứ tự sau:-
    1. Khoảng cách từ tâm dưới dạng số dấu phẩy động, theo cùng một đơn vị được chỉ định trong bán kính.
    2. Số nguyên địa lý.
    3. Tọa độ dưới dạng mảng hai mục x, y (kinh độ, vĩ độ).

Nil được trả về khi khóa không tồn tại và lỗi được trả lại khi khóa tồn tại nhưng giá trị được lưu trữ tại khóa không thuộc loại dữ liệu đã được sắp xếp, được điền bằng lệnh GEOADD. Cú pháp của lệnh redis GEORADIUS như sau:-

Cú pháp:-

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

Đầu ra:-

Trả lời
- (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.

Ví dụ:-

Redis GEORADIUS - Cách lấy các yếu tố có giá trị địa lý bên trong một khu vực cụ thể

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

  1. Redis GEORADIUS Command Docs

Đó là tất cả về cách lấy các phần tử của giá trị không gian địa lý được lưu trữ trong kho dữ liệu redis, thuộc khu vực cụ thể. 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.

<- Lệnh địa lý