Как работает кеширование в битрикс?

Всем привет!

Подскажите как работает кеширование в битрикс (версия бизнес)?
конкректно список товаров (с детальной страницой товара все понятно)

пример:
Есть каталог товаров 8 товаров
на странице выводятся по 4 товара (итого 2 страницы)

пользователи гуляют по каталогу, страницы сохраняются в кеш
и если я отредактирую товар №8, который находится на второй странице, то при заходе на первую страницу (на которой нет этого товара) кеш будет создаваться заново?

к чему я это все:

Есть каталог товаров, в списке товаров есть кнопка в корзину и в список желаний, при стандартных настройках каталога, эти данные кешируются и получается ни как не отметить для конкректного пользователя, есть товар в корзине или в списке желаний. Данные уходят в кеш и у другого пользователя показывается, что товар типа в корзине. Так же еще в зависимости от группы пользователя некоторые товары показываются или скрываются. По этому я сделал так:
<?$APPLICATION->IncludeComponent("bitrix:catalog", "", array(
"USER_DATA" => $arUserData,
),
    false
);?>


в массиве $arUserData находятся данные о товарах добавленных в корзину, список желаний и группа пользователя.

На сколько я понимаю, id кеша собирается из данных этого массива.

И сейчас появились большие тормоза в каталоге. При первом заходе на страницу она грузится секунд 15 - 20, при последующем менее 1 сек. Но через некоторое время (1 - 5 минут) опять тоже самое.

настройки кеша каталога:
"CACHE_TYPE" => "A",
    "CACHE_TIME" => "36000000",
    "CACHE_FILTER" => "Y",
    "CACHE_GROUPS" => "Y",


подскажите правильный я использую подход? или может это все как-то по другому можно реализовать?
  • Вопрос задан
  • 667 просмотров
Решения вопроса 1
в каталоге у каждого товара есть кнопка или ссылка купить - добавь class='product_ajax_id_товара'
на странице есть малая корзина
$mas_elem - сюда собираешь товары (их id) - которые добавлены в корзину
$obj_count=CUtil::PhpToJSObject($mas_elem); - здесь у тебя js массив

пробегаешься по этому массиву и делаешь с кнопками нужные действия
аналогично со списком желаний

вот и вся задача

PS - с компонентом catalog.section в принципе ничего делать при этом не нужно - только добавить к каждому товару данный класс)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
28 апр. 2024, в 00:54
10000 руб./за проект
28 апр. 2024, в 00:53
70000 руб./за проект
27 апр. 2024, в 21:24
150000 руб./за проект