вы уж простите, но у вас проблема с понимание смысла кеширования. Сейчас вы извлекаете данные из базы (много данных) и кладете в кеш. Зачем???? Вы не эффективно используете кеш. В кеш нужно положить не сырые данные, а уже обработанные. Чем больше этапов вы объедините - тем эффективнее кеширование.