Tôi có một danh sách điểm số. Bằng cách sử dụng những thứ này, tôi cần trích xuất các giá trị từ một tập hợp được sắp xếp lại.
Tôi biết tôi có thể sử dụng zrangebyscore
- Nhưng nếu điểm trong danh sách tôi cung cấp không liên tục thì sao? Trong trường hợp này tôi không thể dựa vào zrangebyscore tối thiểu tối đa
loại lệnh.
Trong trường hợp này, cách hiệu quả nhất để truy xuất các giá trị này từ tập hợp đã sắp xếp là gì? Có vẻ như điều tốt nhất tôi có thể làm là tìm kiếm từng cái một ở đây. Chính xác?
Dưới đây là một ví dụ (hiển thị tập hợp được sắp xếp dưới dạng danh sách các bộ dữ liệu):
list_of_scores = [4, 1, 3] # những thứ này sẽ được lấy
đã sắp xếp_set = [(item_1, 1),
(mục_2, 2),
(mục_3, 3),
(mục_4, 4)]
Mỗi bộ dữ liệu là mộtthành viên, điểm
Phải.
Cập nhật: Đây là một gợi ý:
cho điểm trong điểm số:
my_pipeline.zrangebyscore("my_sorted_set",score,score)
kết quả = my_pipeline.execute()
Vấn đề với việc truy xuất từng cái một là có quá nhiều RTT. Bạn có thể sử dụng ĐƯỜNG ỐNG
Hoặc gói quy trình này vào một tập lệnh Lua để nâng cao hiệu quả truy xuất từng quy trình một.
Ngoài ra, có vẻ như bạn đang sử dụng Bộ sắp xếp
作为 Băm
, chẳng hạn như điểm là khóa băm và tên thành viên là giá trị băm. vậy có lẽ Băm
Phù hợp hơn cho kịch bản của bạn.
Tôi là một lập trình viên xuất sắc, rất giỏi!