Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Redis

Thành thạo Redis ZRANGEBYLEX: Truy xuất phần tử Sorted Set trong phạm vi giá trị tăng dần

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lấy tất cả các phần tử của giá trị sorted set có giá trị nằm trong một phạm vi cụ thể và theo thứ tự từ điển tăng dần (ascending lexicographical order). Để làm điều này, chúng ta sẽ sử dụng lệnh Redis ZRANGEBYLEX.

Lệnh ZRANGEBYLEX

Lệnh này trả về tất cả các phần tử của giá trị sorted set được lưu trữ tại một khóa được chỉ định, với các giá trị (biểu diễn chuỗi của phần tử) nằm giữa các đối số min và max. Ở đây, tất cả các phần tử trong giá trị sorted set được chèn với cùng một điểm số (score), để buộc thứ tự sắp xếp theo từ điển. Các phần tử trả về theo thứ tự từ điển tăng dần.

Các đối số min và max phải bắt đầu bằng ( hoặc [, trong đó [ chỉ định khoảng khép kín (inclusive) và ( chỉ định khoảng mở (exclusive). Ví dụ :-

ZRANGEBYLEX set [a [f

Sẽ trả về tất cả phần tử với a <= phần tử <= f trong khi:

ZRANGEBYLEX set [a (f

Sẽ trả về tất cả các phần tử với a <= phần tử < f

Các đối số min và max có thể có giá trị đặc biệt là + hoặc -, trong đó + chỉ định chuỗi vô cực dương và - chỉ định chuỗi vô cực âm, vì vậy ví dụ lệnh ZRANGEBYLEX set - + sẽ trả về tất cả các phần tử của giá trị sorted set.

Đối số LIMIT (tùy chọn) có thể được truyền trong lệnh, để lấy count phần tử khớp bắt đầu từ offset. Nếu giá trị count là âm thì tất cả các phần tử được trả về từ offset. Ví dụ:-

ZRANGEBYLEX set [a [f LIMIT 1 3 Where set = [a, b, c, d, e, f, g, h] 

Sẽ trả về ba phần tử khớp, bắt đầu từ phần tử khớp thứ hai. i.e [b, c, d]

Tập hợp rỗng được trả về, nếu khóa không tồn tại và lỗi được trả về, nếu khóa tồn tại nhưng giá trị lưu trữ tại khóa không phải là kiểu dữ liệu sorted set. Cú pháp của lệnh Redis ZRANGEBYLEX như sau:-

Cú pháp :-

redis host:port> ZRANGEBYLEX <keyname> <min> <max> [LIMIT offset count]

Đầu ra :-

- (array) reply, đại diện cho các phần tử của sorted set trong phạm vi chỉ định.
- Empty Set (Tập hợp rỗng), nếu khóa không tồn tại.
- Error, nếu khóa tồn tại và giá trị lưu trữ tại khóa không phải là sorted set. 

Ví dụ :-

Thành thạo Redis ZRANGEBYLEX: Truy xuất phần tử Sorted Set trong phạm vi giá trị tăng dần

Tham khảo :-

  1. ZRANGEBYLEX Command Docs

Đó là tất cả về cách lấy tất cả các phần tử của giá trị sorted set có giá trị giữa phạm vi cụ thể và theo thứ tự từ điển tăng dần. Nếu bạn thích, hãy chia sẻ suy nghĩ trong phần bình luận và chia sẻ với người khác.