Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Cache -> постраничный

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Кеширование запроса
maragon
Отправлено: 23 Июня, 2015 - 15:54:10
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Функции кеша: (запись \ чтение)
PHP:
скопировать код в буфер обмена
  1. function create_cache($prefix, $cache_text) {
  2.         $filename = ENGINE_DIR.'/cache/'.$prefix.'.tmp';
  3.         $fp = fopen($filename, 'wb+');
  4.         fwrite($fp, $cache_text);
  5.         fclose($fp);
  6.         @chmod($filename, 0666);
  7. }
  8. function view_cache($prefix) {
  9.         $filename = ENGINE_DIR.'/cache/'.$prefix.'.tmp';
  10.         return @file_get_contents($filename);
  11. }


+ serilize / unserialize

Такой штукой кеширую блоки у пользователей сайта (информацию и прочее).
Возможно ли закешировать постраничную навигацию?
Например вытаскиваю все фотографии или же аудиозаписи постранично.

Пример кеширования данных пользователя:
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = intval($_GET['id']); //ID пользователя
  3. $row = unserialize(view_cache('profile_'.$id)); //Смотрим кэш
  4. if(!$row){ //Проверяем на наличие кеша, если нету то выводи из БД и создаём его
  5. $row = $db->super_query("SELECT * FROM `users` WHERE `user_id` = '".$id."'");
  6. if($row){
  7. create_cache('profile_'.$id, serialize($row)); // Создаём кеш
  8. }
  9. } else { //Кеш есть - вытаскиваю
  10. echo $row['user_login'];
  11. }
  12.  


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB