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

Thành thạo Redis ZREVRANGEBYLEX: Truy xuất phần tử Sorted Set theo phạm vi giá trị giảm 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 giảm dần (descending lexicographical order). Để làm điều này, chúng ta sẽ sử dụng lệnh Redis ZREVRANGEBYLEX.

Lệnh ZREVRANGEBYLEX

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ố max và min. Ở đâ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 giảm dần.

Các đối số max và min 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ụ :-

ZREVRANGEBYLEX set [f [a

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

ZREVRANGEBYLEX set [f (a

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

Các đối số max và min 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 ZREVRANGEBYLEX 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ụ:-

ZREVRANGEBYLEX set [f [a 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 [e, d, c]

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 ZREVRANGEBYLEX như sau:-

Cú pháp :-

redis host:port> ZREVRANGEBYLEX <keyname> <max> <min> [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 ZREVRANGEBYLEX: Truy xuất phần tử Sorted Set theo phạm vi giá trị giảm dần

Tham khảo :-

  1. ZREVRANGEBYLEX 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 giảm 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.