Главная Главная  Форум Форум  Мини чат Мини чат  Файлы Файлы  Новости Новости  Сайты Сайты  Статьи Статьи  Документация
История мини чата Написать
[ Сент 30, 13:59 ] Eps: Проект умер походу....
[ Февр 04, 15:56 ] M@XIM: Есть кто?)
[ Июнь 12, 12:16 ] wsok: проект умер чтоль? интеграции с ксеном не ждать?
[ Нояб 25, 20:30 ] Jade: Вот и я тут появилась. ))
[ Окт 19, 10:33 ] Гостья: а движок стОящий и удобный, что ни говори...

Партнёры

Перейти к содержимому


стандартное кеширование нужна помощь


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 02 July 2014 - 18:38

ребят я весь портал перерыл но так и непонял как мне сделать у собственного модуля кеширование информации в фаил в папку   cache  как просто у модуля много информации и он изаэтого долго грузит пока все запросы пройдут очень долго поэтому решил закешировать и выдовать уже готовое кешировать каждые 5 минут надо мне информацию но как подключить не понял подскажите пожалуста

#2 Legion Leonhart

Legion Leonhart

    Активный участник

  • Пользователи
  • PipPipPip
  • 234 сообщений
  • Пол:Мужчина
  • Форум:IPB 1.x
  • Версия MKP:M1.1.2b

Отправлено 23 July 2014 - 14:37

Файловое кэширование делается только в очень специфичных случаях, во всех остальных случаях надо просто оптимизировать модуль так, чтобы он быстро работал.

В mkportal нет никакого своего функционала для кэширования в файлы, так что если захочешь такое сделать, то придется его делать самому с нуля. Ищи инфу по fputs()  fopen()  и всё что с ними связано. Но ещё раз говорю, это неправильный способ оптимизации, лучше реорганизовать иначе запросы.

Сообщение отредактировал Legion Leonhart: 23 July 2014 - 14:37


#3 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 26 July 2014 - 09:05

Просмотр сообщенияLegion Leonhart (23 July 2014 - 14:37) писал:

Файловое кэширование делается только в очень специфичных случаях, во всех остальных случаях надо просто оптимизировать модуль так, чтобы он быстро работал.

у меня кокраз специфичный случай и что там информация обновлятся будет каждые 5 минут даже очень хорошо подходит (а так отимизация модулей почти каждый день занимаюсь когда пишу что нибуть новенькое )

а за направление по (fputs()  fopen()) спасибо

#4 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 27 July 2014 - 15:38

$file = "mkportal/cache/tvoi_blok.php";
if ($this->config['cache'] && file_exists($file) &&
filemtime($file) > (time() - $this->config['cache_time'])) {
$cont = unserialize(file_get_contents($file));
тут идет проверка если данный блок в кеше и закончилось время кеширования или нет

если блока в кеше нет или время кеширования закончилось то работает часть после else ,
если срок кеша не закончился и блок в кеше есть
то выводяться кешированные данные
} else {

тут выводиш сой блок
if ($this->config['cache']){
$cache = serialize($cont);
$fp = fopen($file,"w");
fputs($fp, $cache);
fclose($fp);
тут происходит запись в кеш файл вывода блока
}





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


MKPortal R1.0.2©2003-2008 mkportal.it
Logan ©2007-2011 RusMKPortal
Время: 0.00964 сек Память: 5.16MB Запросов к БД: 8