Você deve primeiro verificar qual
ZSET
tem menos elementos com ZCARD, e clona e corta o mais curto. Em segundo lugar, você está deixando 2 sobras. Você pode reutilizar o mesmo auxiliar
ZSET
para ter uma limpeza mais rápida. Eu também queria sugerir DUMP e RESTORE para o clone, mas para o caso de conjuntos classificados ZUNIONSTORE é realmente muito mais rápido. Aqui está um tempo de ambos para um conjunto de elementos de 1M:
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"