Вы должны знать, что кешировать, а что нет. В качестве примера, скажем, ваш сайт становится безумно популярным, и у вас есть 100 миллионов объявлений о недвижимости. И у вас есть миллионы пользователей, которые выполняют поиск и смотрят на детали. Это много запросов!
Введите Memcached, если вы (например) кешируете подробный просмотр списка в Memcached, сохранив результаты этого запроса, вы сократите объем загрузки. Это связано с тем, что, кроме того, когда сервер впервые запрашивал MySQL, все остальные попадания находятся в Memcached.
Еще одна вещь, которую вы можете сделать, это сохранить результаты поиска, сохранив хеш поискового запроса в качестве ключа. В зависимости от того, сколько у вас памяти, это снова уменьшит нагрузку, потому что Memcached просто обслуживает кэшированные страницы.
Вам решать, как долго вы будете хранить кеш, а также как будет работать ваша схема аннулирования (может быть, очистить ключ при добавлении нового свойства или обновлять только один раз в день).