Думали насчет Redis — так из него нормально не получится получать данные, нужно будет обрабатывать большое количество данных не на стороне БД.
Почему вы так считаете? Redis поддерживает несколько весьма удобных структур данных и множество операций над ними. У меня есть опыт работы с ним и могу сказать, что решить ваше задачу при помощи Redis не составит труда и не нужно никакой особой обработки данных на стороне приложения.