jenix писал(а):
Я давно предлагал сделать чтобы система по ключу(URL) записывала кэш в memcached и брала страничку оттуда! Соответственно если какой-то комментарий или что-то там еще изменилось — изменялся кэш именно по ключу URL (независимо от пользователя, а при изменении инф. системы ее элементов или еще чего-то ). Пользователь уже сразу получает ответ из кэша от memcached! Я на mod_perl в самописной cms так делал и nginx очень классно умеет из кэша забирать значение по ключу URL — и все летает и кэш обновляется. Разработчики — возьмите на заметку!
У нас файловый кэш именно так работает. Нужно разделять кэширование "тупо всю страницу" и элементов страницы.
jenix писал(а):
Смысла в вашем модуле кэширования получается нет — он нужен именно для динамики
Вы чисто теоретически порассуждать в тему пришли? У нас динамика как раз и кэшируется в один кэш, а страницы целиком в другой.
jenix писал(а):
Жаль что в вашей системе которой я активно пользуюсь еще нет разумного кэширования. Что мешает то?
Что-то мне говорит, что в системе Вы к кэшированию даже не подходили, раз говорите такие глупости.
dyll писал(а):
В первую очередь меня интересует как очистить кеш комментариев определенного ИЭ. Во вторую — как очистить кеш списка ИЭ зная id ИС, id группы.
Итак, начинаем с начала. Система кэширует различные блоки, одна и та же информация может поместиться в разные блоки. Кэша комментариев для ИС нет, кэшируется сгенерированный код для обработанного XSL-шаблона. Кэшируется он в SHOW_INF_SYS_XML.
Формируется следующим образом:
$cache_element_name = 'InformationSystems_'.implode(",",$InformationSystemIdArray).'_'.$information_groups_id.'_'.$xsl_name.'_'.$items_on_page.'_'.$items_begin.'_'.$kernel->implode_array($external_propertys, '_').'_'.$kernel->implode_array($property,'_').'_'.$site_user_id;
dyll писал(а):
memcached для виртуальных хостингов не актуален. А вот если бы был способ задания места хранения кеша — было б здорово.
У нас есть в файлах и с использованием eAccelerator (по многим тестам превосходит memcached). Добавить memcached не представляет большого труда.