Trước tiên, bạn nên kiểm tra ZSET
nào có ít phần tử hơn với ZCARD và sao chép và cắt bớt phần tử ngắn hơn.
Thứ hai, bạn đang bỏ đi 2 thức ăn thừa. Bạn có thể sử dụng lại cùng một ZSET
bổ trợ để dọn dẹp nhanh hơn.
Tôi cũng muốn đề xuất DUMP và RESTORE cho bản sao, nhưng đối với trường hợp tập hợp được sắp xếp, ZUNIONSTORE thực sự nhanh hơn nhiều. Dưới đây là thời gian của cả hai cho tập hợp 1 phần tử:
1) 1) (integer) 14
2) (integer) 1444165498
3) (integer) 936762
4) Complexity info: N:1000000,M:1000000
5) 1) "ZUNIONSTORE"
2) "temp3"
3) "1"
4) "temp1"
5) "WEIGHTS"
6) "1"
2) 1) (integer) 13
2) (integer) 1444165421
3) (integer) 3166360
4)
5) 1) "evalsha"
2) "48286113cfe4b389d516e98646e5f4e086decc34"
3) "2"
4) "temp1"
5) "temp2"
6) "0"