2011-11-30 35 views
6

Tôi đang cố gắng tìm ra cách tôi có thể lấy kết quả của lệnh ZRANGEBYSCORE trên một tập hợp đã sắp xếp và lưu kết quả dưới dạng tập hợp mới trong redis, tôi không muốn dữ liệu đến quay lại khách hàng. Tôi biết có thể đọc kết quả trong khách hàng và sau đó đẩy kết quả như là một bộ mới, nhưng tôi không muốn dữ liệu để chuyển qua lại giữa khách hàng và máy chủ.Chèn kết quả của ZRANGEBYSCORE vào một tập hợp

Về cơ bản tôi có tập hợp được sắp xếp 'A' và tập hợp thường xuyên 'B'. Tôi muốn lọc các giá trị trong tập hợp được sắp xếp bằng cách chạy ZRANGEBYSCORE trên 'A' và sau đó cắt kết quả bằng 'B'. Hy vọng rằng có ý nghĩa. Tự hỏi làm thế nào tôi có thể làm điều đó

Trả lời

2

Thật không may là bạn không thể làm điều đó. Bạn có thể thử sử dụng phiên bản không ổn định cho phép kịch bản Lua (khá ổn định vào lúc này) và bạn có thể làm điều đó bằng một kịch bản lệnh Lua đơn giản.

+1

Bạn không thể hiển thị kịch bản Lua của mình cho mục đích này? Bạn có đề xuất lưu trữ kết quả của ZRANGEBYSCORE vào một biến và sau đó đi qua nó, sử dụng ZADD trên mỗi bước? Nếu vậy, đó là cách cực kỳ chậm! Không thể chấp nhận cho sản xuất sử dụng. Hy vọng rằng bạn có nghĩa là một cách khác =) – n0nSmoker

Các vấn đề liên quan