Redis: Como interceptar um conjunto “normal” com um conjunto ordenado?

Suponha que eu tenha um conjunto (ou um conjunto ordenado ou uma lista, se isso for melhor)A de 100 a 1000 cordas.

Então eu tenho um conjunto ordenadoB de muitas outras cordas, digamos um milhão.

AgoraC deve ser a intersecção deA eB (das cordas, claro).

Eu quero ter todas as tuplas (X, SCORE_OF_X_IN_B) onde X está emC.

Qualquer ideia?

Eu tenho duas ideias:

Interstorearmazenar um conjunto classificado com cada pontuação sendo 0interstore para Dobter todos os itens de Dexcluir DLoop simples no clienteloop sobre A no meu programa de clienteobter zscore para cada string

Enquanto 1. tem sobrecarga muito no lado de redis (Tem que escrever, por exemplo. A página de redis apresenta uma complexidade muito alta de tempo, tambémhttp://redis.io/commands/zinterstore), 2. teria | A | conexões de banco de dados e não será uma boa escolha.

Talvez eu possa escrever um script redis / lua que funcione como zscore, mas com um número arbitrário de strings, mas não tenho certeza se meu hoster permite scripts ...

Então, eu só queria perguntar, se há uma solução elegante e rápida disponível sem script!