API Cache - Дизайн и модификация Invision Power Board

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

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

API Cache

#1 Пользователь не на сайте   avgaz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 153
  • Регистрация: 28-Январь 08
  • Репутация: 5
  • IPB version:3.4.x
 

Отправлено 25 Май 2014 - 15:51

Добрый день. Потихоньку делаю портал для форума и столкнулся вот с чем имеется класс кеширования http://www.invisionp...sscachephp-r153
как бы все работает, но вот проблема он включается путем добавления соответствующей строки в conf_global.php и включается для всего форума в целом, но мне этого не нужно хочется что бы работал кешь только для портала, можно как то включить его отдельно от форума?
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 255
  • Регистрация: 20-Март 09
  • Репутация: 2 066
  • IPB version:3.1.x
 

Отправлено 25 Май 2014 - 18:03

Что вы подразумеваете под "кеш только для портала"? Кеш - это когда системные кеши находятся не в бд (ibf_cache_store), а хранятся где-то в другом месте, например на диске, или в memcached. Если включить кеширование только для портала, то остальные кеши системы либо будут отсутствовать, либо будут в неактуальном состоянии, так как обновляться эти кеши будут в бд, а в своем приложении вы будете дергать их из другого места. И аналогично, на форуме вы не сможете получить данные их кеша портала, так как к нему не будет доступа. Если нужно кешировать какие-то конкретные данные в портале - используйте другую обертку доступа нежели стандартный объект кеш-а.
0

#3 Пользователь не на сайте   avgaz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 153
  • Регистрация: 28-Январь 08
  • Репутация: 5
  • IPB version:3.4.x
 

Отправлено 25 Май 2014 - 18:44

Ну для примера пусть будет не кешь портала а кешь скрипта возьмем пример из API по ссылке
<?php
require_once( '/forum/initdata.php' );
require_once( '/forum/admin/sources/base/ipsRegistry.php' );
$registry=ipsRegistry::instance();
$registry->init();

$variable2 = $registry->cache()->getWithCacheLib( 'This_is_a_unique_key' );
if( !$variable2 )
{
$variable = 'Some data that I want to store in memory for retrieval at a later time. ly and show the cached resu.';
$registry->cache()->putWithCacheLib( 'This_is_a_unique_key', $variable, 120 );
}

$registry->output->setTitle('Ваше название'); 
$registry->output->addContent($variable2);
$registry->output->sendOutput();



Как бы все работает кеширует и тд, но для работы нужно добавить в conf_global.php скажем $INFO['use_diskcache'] = 1; это активирует систему кеширования всего форума, где это предусмотрено, но мне этого не нужно мне нужно только что бы происходил кешь в моем скрипке, классом кеширования форума, а сам форум не кешировался

Сообщение изменено: avgaz (25 Май 2014 - 18:45)

0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 255
  • Регистрация: 20-Март 09
  • Репутация: 2 066
  • IPB version:3.1.x
 

Отправлено 25 Май 2014 - 19:09

Кеширование либо работает глобально, либо не работает. Даже если включить кеш только для в текущем приложение, он включится для всей аппликации в целом.
Нужен отдельный кеш - юзайте отдельный кеш, используя свой объект

require_once(IPS_KERNEL_PATH.'classCacheDiskcache.php');

$mycache = new classCacheDiskcache('This_is_a_unique_key');
$registry->setClass('mycache', $mycache);

$mycache->putInCache();
$mycache->getFromCache();
$mycache->updateInCache();

0

#5 Пользователь не на сайте   avgaz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 153
  • Регистрация: 28-Январь 08
  • Репутация: 5
  • IPB version:3.4.x
 

Отправлено 25 Май 2014 - 19:23

у меня в этом случае выдает Fatal error: Interface 'interfaceCache' not found in \forum\ips_kernel\classCacheDiskcache.php on line 35
0

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 255
  • Регистрация: 20-Март 09
  • Репутация: 2 066
  • IPB version:3.1.x
 

Отправлено 25 Май 2014 - 23:38

require_once(IPS_KERNEL_PATH.'interfaces/interfaceCache.php');
require_once(IPS_KERNEL_PATH.'classCacheDiskcache.php');
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна