BlackDiamondBlog - блог о работе в Интернете и программировании для web-мастеров.
|
|
|
Популярные статьи Простой способ кэширования на PHP![]() При программировании на PHP часто бывает необходимо оптимизировать обращения к базе дынных или просто запомнить некоторые данные... Для этой цели можно использовать файлы, записывая необходимые данные в файл, а в последствии их от туда извлекать. Но в большинстве случаев запоминать приходиться достаточно разнородную информацию и писать для каждой структуры отдельную функцию очень накладно. Для решения этой задачи в PHP есть отличная функция serialize - позволяющая превратить любой массив данных в строку. А чтобы сделать обратное преобразование нам понадобится функция unserialize. Кроме того, для кэша важно учитывать понятие давности. Для этого мы будем вычислять количество милисекунд со времени последнего редактирования файлы: Функция для записы массива данных в файл будет выглядеть так: Функция WriteCache имеет два параметра: Первая строчка функции открывает файл для записи. В качестве имени файла используется константа CachePath задающая путь где хранятся файлы кэша и имя кэшируемых данных $VarName. После чего массив "сериализируется" и записывается в файл. Теперь опишем функцию чтения данных из файла: В качестве входных параметров используется имя кэшированных данных - $VarName и время жизни кэша для этой переменной - $CacheUpdate. Время жизни определяет как часто вы желаете, что бы данные обновлялись и если файл кэша обновляется последний раз более заданого периода фунция вернет значение false. Сперва мы проверяем существование нужного нам файла, после чего проверяем на давность и лишь после этого считываем и "десериализируем" данные. Теперь попробуем использовать написанные ранее функции для кэширования запроса из БД: Сначалы пытаемся прочитать данные из кэша и если их там нет или они устарели: загружаем из БД и обновляем кэш...
Еще больше интересного на сайте
Комментариев нет, стань первым! |
|