Определить данные для кэширования, в каком слое - PHP / MySQL - PullRequest
0 голосов
/ 04 июня 2011

Думайте, что вы гордый владелец Facebook, тогда
which data you want to store in app layer [memcached/ APC] and which data in MySQL cache?
Пожалуйста, объясните также, почему вы так думаете.

[Я хочу иметь представление о том, какие данные для кэширования где]

1 Ответ

1 голос
/ 04 июня 2011

Для memcache, сохранить данные сеанса. Обычно вам нужно выполнить запрос из большой таблицы или из файловой системы, чтобы получить ее, в зависимости от того, как она хранится. Размещение этого в памяти устраняет попадание на диск относительно небольшого объема данных (что обычно критично для веб-приложения).

Для кеша вашей базы данных поместите туда содержимое, которое меняется не так часто. Мы говорим о сообщениях на стене, комментариях и т. Д. Они часто запрашиваются и редко меняются, учитывая все обстоятельства. Вы также можете подумать о создании плоского файлового кэша, чтобы вы могли с большей легкостью очищать отдельные файлы и разбивать их по своему усмотрению.

Обычно я не кеширую произвольные данные напрямую с помощью APC, обычно я просто позволяю ему автоматически кешировать данные и уменьшать загрузку памяти.

Это всего лишь один из способов сделать это, но для отрасли это довольно хорошо используемая модель.

...