Powinieneś najpierw sprawdzić, który ZSET
ma mniej elementów z ZCARD, a sklonuj i przytnij krótszy.
Po drugie, zostawiasz 2 resztki. Możesz ponownie użyć tego samego pomocniczego ZSET
aby mieć szybsze czyszczenie.
Chciałem również zasugerować DUMP i RESTORE dla klonu, ale w przypadku posortowanych zestawów ZUNIONSTORE jest w rzeczywistości znacznie szybszy. Oto czas obu dla zestawu 1M elementów:
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"