Ответов: 3 Просмотров: 238
|
Я думаю, что свое кеширование писать не нужно. Ибо их уже написано много.
Основные 2 это:
1) Кеширование СУБД. В MySQL оно реализовано на пальцах примерно так:
Выполняется некий запрос, например SELECT A,B,C FROM T WHERE D=1. Первый раз выполнится именно обращение к таблице(таблицам), результат выборки сохранится в кеше. Дальше если таблица(цы) не менялись, то каждый следующий такой же запрос не будет выполнятся, а просто будет выкидываться набор данных из кеша. Т.е. строка запроса является своеобразным ключом к набору данных из кеша.
Например если таблица T не меняется то:
SELECT A,B,C FROM T WHERE D=1 // Запрос к базе
SELECT A,B,C FROM T WHERE D=1 // Выдача из кеша
SELECT A,B,C FROM T WHERE D=1 // Выдача из кеша
SELECT A,B,C FROM T WHERE D=2 // Запрос к базе
SELECT A,B,C FROM T WHERE D=2 // Выдача из кеша
SELECT A,B,C FROM T WHERE D=1 // Выдача из кеша
SELECT A,B,C,D FROM T WHERE D=1 // Запрос к базе
Настройками кеширования можно управлять через настройки MySQL
2) Кеширование браузера. Тут надо кешировать практически все что не меняется или меняется редко. Статичные страницы, CSS-ки, JS-скрипты, Картинки. И делать для этого в принципе ничего не нужно. Браузеры сами довольно умные и кешируют практически все. Единственное что надо разработчику это не давать браузеру команды на запрет кеширования. |