Идея выгрузить все в Redis провалилась, так как на более 120К записей поиск начал тормозить сильнее прямого запроса к БД.
Нужно более подробно изучить этот кейс. В момент "торможения" что происходило? Шла выгрузка?
Redis упал в swap? Дело в том что структуры данных Redis спроектированы так что дают
постоянный отклик почти на любом объеме данных лишь бы хватало памяти. Этот эффект
который вы поймали говорит скорее всего о неверном использовании.
Попробуйте value хранить в разных форматах. В JSON. В бинарном (protobuf). В gzip. Оптимизируйте
бизнес данные. Я всегда находил способы не хранить длинные url. И заменить их на что-то.
В качестве
промежуточного хранилища можно использовать много чего.
Apache Ignite, Hazelcast,
LevelDb, RocksDb, CouchDb, Riak. Но мне кажется что проблема ваша не в том какую
dbms взять а как грамотно реплицировать бизнес-данные в слой кеширования.
Поговорите с бизнесом какое отставание кеша от данных является приемлемым и исходите из этого.
В некоторых случаях отставанее в сутки является норм. А иногда даже милисекунда - уже нельзя.