Как заставить MySQL кешировать запрос в течение определенного периода времени? - PullRequest
0 голосов
/ 13 октября 2010

существует ли способ заставить mysql кэшировать конкретный запрос, скажем, в течение 5 минут, поэтому выполнение этого запроса всегда будет возвращать один и тот же результат, даже если базовая база данных изменится?

У меня есть сайт знакомств, и у меня есть страница, на которой отображаются "самые новые совпадения", и она слишком сильно бьет по БД.

спасибо заранее.

1 Ответ

1 голос
/ 13 октября 2010

Кэширование в MySQL не является хорошим решением этой проблемы.

MySQL автоматически кэширует запрос до тех пор, пока таблица не будет обновлена.

Для вашей проблемы вам необходимо использовать кеш спередибазы данных.Затем вы можете сначала проверить кеш, и если того, что вы ищете, нет в кеш-памяти, попробуйте в базу данных и добавьте ее в кеш.

Memcached - хорошее решение для этого,особенно если у вас более 1 веб-сервера.

APC - еще одно хорошее решение, которое также может кэшировать ваш байт-код PHP, но это локальный кеш только на одной машине.

...