TCMS
Есть в сабтемплейте кусок кода <?echo rand(1,100)?>. Почему, при рефреше страницы там всегда разное число?
Т.е. вопрос, почему там не кешированый результат? Получается, при рефреше каждый раз запускается генератор сл.чис. - а это нагрузка.
Судя по всему, любой кусок ПХП кода отрабатывает, при каждом заходе на страницу в т.ч. и когда делаются красивые линки типа &a=12&b=34&c=56 с кодом в сабе примерно <? $my_var = explode('x', '<!--THUMB_LINK-->'); ?> (взято из вики)
Как сделать, чтобы кусок ПХП кода отрабатывал, только при пересоздании страницы, через время указанное в Rotation Settings?
В Page settings стоит
Cache time, seconds
0 = use Cache Time
from Rotation Settings - тут пробовал и 0 и 1200 и т.д. - результат тот же.
В Rotation Settings Cache time, seconds 7200. Recreate pages every X minutes 120
Вставлял этот код не в SubTemplate, а просто в Template - результат тот же.
Кеш прибивал.
Результат отработки ПХП не кешируется, а генерится при каждом заходе на страницу.
Может сделать тег типа <!--php ... --> - такой код отрабытывать, при пересоздании по расписанию, и результат - в ХТМЛ кешированой страницы
Сори, если что-то упустил из мануала
PHP в темплейтах. Не кеширует результат
Re: PHP в темплейтах. Не кеширует результат
Ничего не пропустили - все верно, пхп код не кешируется тк мало ли что у вас в коде, может там от языка серфера зависит что-то или его ГЕО и тп, вариантов масса.
Такие вычисления добавят может 1 тысячную к отдаче страницы.
При том что плохой выбор хостинга добавит к пингу например 50-100 тысячных
Но если будет критично кешировать пхп код - можно будет придумать и это.
Такие вычисления добавят может 1 тысячную к отдаче страницы.
При том что плохой выбор хостинга добавит к пингу например 50-100 тысячных
Но если будет критично кешировать пхп код - можно будет придумать и это.
Don't forget to run script update
Re: PHP в темплейтах. Не кеширует результат
Ну вот у меня в темплейте для каждой тумбы есть код <?echo rand(1000,100000)?> - Выводит фейковое количество показов видео.
Это ж при 100 тумбах на странице, при каждом заходе сёрфера будет 100 раз дёргаться генератор сл.чисел
Вопрос также беспокоит, про "красивые линки"
Вот из вики
Это ж пустая нагрузка на сервер.
Не проще ли кешировать результат отработки такого ПХП кода? Я и говорю, про тег типа <!--php ... -->
Это ж при 100 тумбах на странице, при каждом заходе сёрфера будет 100 раз дёргаться генератор сл.чисел
Вопрос также беспокоит, про "красивые линки"
Вот из вики
Это для каждой тумбы, при каждом заходе сёрфера, создаётся массив, преобразуется линка и т.д.Вариант 3 если вы хотите совершенно другой вид
В данный момент таг <!--THUMB_LINK--> выдает условно 12x34x56, например вы хотите что б было &a=12&b=34&c=56 или например &ppp=12.34.56 и тп , одним словом какой-то другой вид.
в сабе делаете
$my_var = explode('x', '<!--THUMB_LINK-->');
получаете массив
Array
(
[0] => 12
[1] => 34
[2] => 56
)
и можете из него формироваль линк как угодно
например вариант с a b с
out.php?url=....&a=<?=$my_var[0]?>&b=<?=$my_var[1]?>&c=<?=$my_var[2]?>
а в common.php складывается параметр назад
if (isset($_GET['a'])) {
$_GET['link'] = 'images/' . $_GET['a'] . 'x' . $_GET['b'] . 'x' . $_GET['c'];
}
Это ж пустая нагрузка на сервер.
Не проще ли кешировать результат отработки такого ПХП кода? Я и говорю, про тег типа <!--php ... -->
Re: PHP в темплейтах. Не кеширует результат
Да, пустая, но допустим у вас миллион траффика в чем есть сомнения
по тестам у меня на ноуте весь этот код на миллион запусков это примрено 10 секунд времени на серваке это будет секунд 6 например. Из 86400 в сутках.
те мы говорим о повышении нагрузки на примерно 0.000007%
по тестам у меня на ноуте весь этот код на миллион запусков это примрено 10 секунд времени на серваке это будет секунд 6 например. Из 86400 в сутках.
те мы говорим о повышении нагрузки на примерно 0.000007%
Don't forget to run script update







