Какую частоту обновления вы ожидаете в элементах БД?Изменились бы результаты поиска даже на короткие промежутки времени, потому что я не знаю такого сценария, но у вас может быть другой случай.
Предположим, что у вас есть сценарий, в котором ваша БД заполнена отдельным потоком илипотоков, и у вас есть другой независимый поток для поиска результатов, следите за отметкой времени последнего элемента, вставленного в базу данных в вашем кэше.
Теперь, когда пользователь хочет снова просмотреть результаты поиска, сравните отметки времени, т.е. сравнитеваша временная метка кеша с последним элементом, вставленным в БД.Если совпадений нет, то повторно запросите другое шоу из вашего кэша.
Если ваш сценарий подтверждает мое предположение, что БД не обновляется слишком часто (по отношению к определенному поисковому запросу или критериям), тогда это можетизбавить вас от частых запросов к БД.