Memcache PHP + сайт = быстрый сайт
Что такое Memcache?
Изначально Memcache была разработана для портала LiveJournal.com для увеличения скорости работы сайта. С помощью Memcache php можно свести скорость загрузки вывода данных из баз данных, практически до нуля. При выводе из БД, сохраняются строки в кэш и при следующем выводе проверяется кэш по определенному запросу.
Если есть данные, выводим, если нет тянем из базы и сохраняем в Memcache php. Естественно, при изменении контента строки в бд, необходимо очистить кэш, для того чтобы применить изменения.
Думаю все понятно.
Как установить Memcache на сайт?
Не совсем правильный вопрос, но всё же я часто слышу его.
По умолчанию, на хостинге вряд ли будет подключен Memcache. Есть 3 варианта подключения.
1. Если в настройках хостинга есть пункт Memcache, то просто включите услугу.
2. Если его нет в настройках, можете попросить тех. поддержку подключить Memcache за дополнительную плату
3. Подключение вручную, имея доступ SSH
5 Функций Memcache PHP
Всего функций 5, но нам больше и не требуется
get() – извлекает значение по ключу
set() – устанавливает значение
add() – добавляет кэш, если его не существует
replace() – заменяет кэш
flush() – удаляет все данные из Memcache
Простой пример использования Memcache
Дальше код с подробными комментариями
// Подключаем Memcache на страницу $memcache = new Memcache; $memcache->connect('127<a href="https://dimasudarkin.ru/wp-content/themes/moments/img/5243623.html">.</a>0.0.1', 11211) or die ("Could not connect"); // // Подключаем базу данных include('data/db.php'); // // Имеем следующий запрос $query = "SELECT * FROM pages where id='4'"; // // Вытаскиваем все что есть в Memcache с этим запросом $get_row = $memcache -> get(md5($key)); // // Проверяем, получилось ли что нибудь получить if ($get_row) { // Если получилось, то выводим echo $get_row['title']; echo $get_row['content']; }else{ // Если же пусто в Memcache, то придется вытаскивать из БД и забивать в кэш $result = mysql_query($query); $row = mysql_fetch_array($result); // Смотрим что имеем print_r($row); // Забиваем в Memcache для последующих запросов к этой строке $memcache -> set($key, $row, TRUE, 20); // Хранить результат 20 секунд }
Думаю, это поможет Вам в начале познания Memcache php ) Удачи
Добавить комментарий