Redis: Как пересечь «нормальный» набор с отсортированным набором?

Предположим, у меня есть набор (или отсортированный набор или список, если это будет лучше)A от 100 до 1000 строк.

Тогда у меня есть отсортированный наборB из многих других строк, скажем, миллион.

СейчасC должно быть пересечениеA а такжеB (из строк конечно).

Я хочу иметь каждый кортеж (X, SCORE_OF_X_IN_B), где X находится вC.

Любая идея?

У меня есть две идеи:

Interstore store A a sorted set with every score being 0 interstore to D get every item of D delete D Simple loop in client loop over A in my client programm get zscore for every string

В то время как 1. имеет слишком много накладных расходов на стороне redis (приходится писать, например. Страница redis также говорит о довольно высокой сложности времени)http://redis.io/commands/zinterstore), 2. будет иметь | A | соединения с базой данных и не будет хорошим выбором.

Возможно, я мог бы написать скрипт redis / lua, который будет работать как zscore, но с произвольным числом строк, но я не уверен, что мой хостер разрешает скрипты ...

Поэтому я просто хотел спросить SO, есть ли элегантное и быстрое решение без сценариев!

Ответы на вопрос(1)

Ваш ответ на вопрос