171 похожих чатов

Всем привет, подскажите хочу при формировании страницы ее сбрасывать в

кэш, а потом ее целиком доставать. на какие события плагина можно это повесить?

25 ответов

23 просмотра
Evgeny-Grishin Автор вопроса

никто так не делал? или идея говно? просто есть ресурсы где технически кэш не могу включить. а сниппеты долго отрабатывают.

Evgeny Grishin
никто так не делал? или идея говно? просто есть ре...

ну вы то можете страницу повесить в кеш, но доставать ее нужно будет, проверив... + закешируется все намертво....

Evgeny-Grishin Автор вопроса
Алексей Смирнов
ну вы то можете страницу повесить в кеш, но достав...

ну стандартный кэш мне не подходит. у меня один ресурс на поддомены, и город там тоже кэшируется

Стандартный механизм кэша подходит, только ключ кэша надо ставить свой. Какие события - подсмотри в пакете cacheRegenerator (от Fi1osof вроде) и ещё какой-то есть, вроде от Bob Ray И ещё ищите в пакете modHelpers функции, связанные с кэшированием, и в pdotools, общие параметры. Сорри, все без ссылок, я с телефона) #cache #кэширование #кэш #pagespeed

Evgeny-Grishin Автор вопроса
Дима 🚀 Сайт
Стандартный механизм кэша подходит, только ключ кэ...

не.. Дима, ему нужно уже готовую страницу, как я понял.

Алексей Смирнов
не.. Дима, ему нужно уже готовую страницу, как я п...

Ну я понял, делал такое )) Код всей страницы модно взять из переменной в событии onWebPagePrerender (вроде) и поместить в кэш? Или вообще обернуть в {set}{/set} в fenom весь код шаблона, и дальше его положить в кэш с нужным ключом (например название города или ещё какой-то признак зашить в него. Это же просто переменная, чтобы потом оттуда достать)

Evgeny-Grishin Автор вопроса
Дима 🚀 Сайт
Ну я понял, делал такое )) Код всей страницы мод...

я тоже сделал, правил несколько методов в xpdoapccache.class

Дима 🚀 Сайт
Ну я понял, делал такое )) Код всей страницы мод...

Или при фориировании, это когда из админки сохраняется? Тогда от onManagerPageSave или как там его... Делать запрос к странице и забирать её код. Простое решение - через curl (так сделал боб рей), сложное - через modx api (так сделал философ). Я все что нужно для победы, написал в первом сообщении 😉 Найдите профильные темы на modx.pro и там будут все решения. Тема не простая, в двух словах не описать. Но она раскрыта уже, по пути, что я указал

Evgeny-Grishin Автор вопроса
Evgeny Grishin
правил xpdocachemanager.class

правил методы isInitialized и getCacheKey

Evgeny Grishin
правил xpdocachemanager.class

Дело твоё, конечно, но есть способы без потери возможности обновления (правки ядра) сделать это, используя плагины. Либо задачу нужно изучать глубже, может конечно ты хочешь настолько странного, что надо лезть в ядро, но сомневаюсь)

вообще тут зависит от того что имеется ввиду под "формирование страницы". Отсюда и выбор события/решения.

Evgeny-Grishin Автор вопроса
Максим Завалишин
вообще тут зависит от того что имеется ввиду под "...

Страница товара для разных городов , из уникального ссылки, навание города и условия доставки

Evgeny-Grishin Автор вопроса
Evgeny Grishin
просто, без кэша страницы

А по конкретнее? "без кэша" - это у ресурса отключена галка "кэшировать" ? В шаблоне все сниппеты запускаются некешируемо ? Где и как проверяется условие вывода (зависимость от города)?

Ну короче вытягивать из тебя я не буду. Тебе нужна помощь, а не мне.

Evgeny-Grishin Автор вопроса
Максим Завалишин
Ну короче вытягивать из тебя я не буду. Тебе нужна...

город д и настройки контекста кладутся в конфиг в кэш. для каждого поддомена город доступен [[++city]]

Evgeny-Grishin Автор вопроса
Максим Завалишин
Ну короче вытягивать из тебя я не буду. Тебе нужна...

там просто страниц очень много. 6к ресурсов * 200 городов. да и с включенным кэшем ресурса прироста нет по отклику

Ну короче не зная всех нюансов, сложно сказать. Идея пока только одна: в шаблоне вызывать свой кастомный сниппет, в котором записывать или брать из кэша данные в зависимости от каких-то условий (например, город + ресурс). А так, возможно, у тебя на каждом этапе можно оптимизировать процесс, тем самым снизить общую отрисовку страницы...Например, каким образом берутся данные из базы? Прямым sql запросом (через API) или конструкцией типа $modx->getObject('msProduct'). Во втором случае будет дольше, т.к. создаётся объект и т.п. Т.е. нужно тут смотреть в том числе и код...

Evgeny-Grishin Автор вопроса
Максим Завалишин
Ну короче не зная всех нюансов, сложно сказать. Ид...

да $modx->getObject('msProduct'), работаю с объектами стандартно.ок, спасибо буду тестировать. это делая в основном для роботов чтобы процессор разгрузить. на диске для кэша место есть , да и отклик будет лучше для робота. кстати многие ставят капчу, как думаете она помогает? индексации не мешает? тк парсят не только роботы а ресурсы которые клонов сайтов продают. твой недавно нашел на таком ресурсе)))

Evgeny Grishin
да $modx->getObject('msProduct'), работаю с объект...

не знаю, про роботов ничего сказать не могу...

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта