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

Sử dụng Redis ZREVRANGEBYSCORE để Lấy Phần Tử Sorted Set Theo Phạm Vi Điểm Giảm Dần

Lệnh ZREVRANGEBYSCORE

Lệnh ZREVRANGEBYSCORE trả về tất cả các phần tử của giá trị sorted set có điểm (score) nhỏ hơn hoặc bằng max (bao gồm) và lớn hơn hoặc bằng min (bao gồm) được truyền làm đối số. Các phần tử được trả về theo thứ tự giảm dần theo điểm, và đối với các phần tử có điểm bằng nhau, chúng được sắp xếp theo thứ tự từ điển giảm dần.

Mặc định các đối số max và min là khoảng đóng (bao gồm) nhưng có thể chỉ định chúng là khoảng mở (loại trừ) bằng cách thêm ký tự ( ở trước. Ví dụ:

ZREVRANGEBYSCORE set (5 1

Sẽ trả về tất cả các phần tử với 5 > score >= 1 trong khi:

ZREVRANGEBYSCORE zset (10 (5

Sẽ trả về tất cả các phần tử với 10 > score > 5 (loại trừ 5 và 10).

Đối số max và min có thể là +inf (vô cực dương) và -inf (vô cực âm), do đó bạn không cần biết điểm cao nhất hoặc thấp nhất trong sorted set để lấy tất cả các phần tử từ hoặc đến một phạm vi điểm nhất định.

Các Đối Số Tùy Chọn

Lệnh Redis ZREVRANGEBYSCORE chấp nhận các đối số tùy chọn sau:

  1. WITHSCORES: Trả về điểm của phần tử cùng với phần tử. Trong trường hợp này, mảng trả về sẽ chứa giá trị1, điểm1, … giá trịN, điểmN thay vì giá trị1, …, giá trịN.
  2. LIMIT: Trả về số lượng phần tử khớp bắt đầu từ vị trí bắt đầu. Nếu giá trị số lượng là âm thì tất cả các phần tử sẽ được trả về từ vị trí bắt đầu.

Trả về tập hợp rỗng nếu khóa không tồn tại và trả về lỗi 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 ZREVRANGEBYSCORE như sau:

Cú Pháp

redis host:port> ZREVRANGEBYSCORE <tên_khóa> <max> <min> [WITHSCORES] [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.
- Tập hợp rỗng, nếu khóa không tồn tại.
- Lỗi, 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ụ

Sử dụng Redis ZREVRANGEBYSCORE để Lấy Phần Tử Sorted Set Theo Phạm Vi Điểm Giảm Dần

Tham Khảo

  1. Tài liệu lệnh ZREVRANGEBYSCORE

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