Вопрос по поводу Cache::set

Post Reply
Elf
Posts: 71
Joined: Fri Feb 26, 2021 12:28 pm

Вопрос по поводу Cache::set

Post by Elf »

Хочу что бы определенный блок информации на страницах кешировался на 3600 сек
Я правильно понимаю 3600 это секунды, время сохранения в кеше контента $cache_result?
Cache::set($cache_test, $cache_result, 3600);
Но для тестирования, я установил 20 сек на Cache::set($cache_test, $cache_result, 20); для теста, сам $cache_result генерю rand (1111,9999); Но по после 20 сек выводимый результат скажем 1831 не меняется при рефреше страницы.

Так же интересно есть ли приоритет Cache time, seconds из админки
used for Rotation - CMS (New rotation).
из ?operation=rotation&sub=rot_settings&subsub=&
над временем хранения кеша чарез из Cache::set.
Там так же 20 сек установил вместо дефолтных 600 то же не меняется контент закешированный контент из $cache_result...

И ещё интересно если max время кеша допустим 65280 сек?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Вопрос по поводу Cache::set

Post by admin »

покажите полностью тестовый темпелйт

PS максимального времени нет
Don't forget to run script update
Elf
Posts: 71
Joined: Fri Feb 26, 2021 12:28 pm

Re: Вопрос по поводу Cache::set

Post by Elf »

<?php
$page = $_SERVER['REQUEST_URI'];
$page_crc32 = crc32 ($page);
$cache_test = "cache_".$page_crc32;
if (false === ($cache_result = Cache::get($cache_test))) {
$cache_result = rand (1111,5555);
Cache::set($cache_test, $cache_result, 3600);
}
echo $cache_result;
?>
Last edited by Elf on Wed Dec 07, 2022 6:35 pm, edited 1 time in total.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Вопрос по поводу Cache::set

Post by admin »

я не понял зачем столько html для теста

надо

1. создать тестовый test темпелйт

Code: Select all

<?
if (false !== ($cache_result = Cache::get('cache_name'))) {
   $cache_result  = rand(1, 10000000);
   Cache::set('cache_name', $cache_result, 20);
}

echo $cache_result;
?>


2. открыть как /?force_template=test

все

этот вариант работает?
Don't forget to run script update
Elf
Posts: 71
Joined: Fri Feb 26, 2021 12:28 pm

Re: Вопрос по поводу Cache::set

Post by Elf »

Попробовал в test и в рабочем коде
вариант с эквивалентно работает if (false === ($cache_result = Cache::get('cache_name'))) {! В через 20 сек меняется выводимые данные

Code: Select all

<?
if (false === ($cache_result = Cache::get('cache_name'))) {
   $cache_result  = rand(1, 10000000);
   Cache::set('cache_name', $cache_result, 20);
}

echo $cache_result;
?>
Но в рабочем коде вариант где привязка cache_name к crc32 страницы не работает
Last edited by Elf on Wed Dec 07, 2022 6:20 pm, edited 1 time in total.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Вопрос по поводу Cache::set

Post by admin »

сорри , ошибся
да, надо ===

верный вариант

Code: Select all

<?
if (false !== ($cache_result = Cache::get('cache_name'))) {
   $cache_result  = rand(1, 10000000);
   Cache::set('cache_name', $cache_result, 20);
}

echo $cache_result;
?>


пример кода работает
так вы точно знаете что со стороны скрипта вопросов нет
докидывайте свой код и смотрите когда перестанет работать
Don't forget to run script update
Post Reply