Кеш bitrix api

Кеш bitrix api
Хочу викласти маленький сніпет коду для кешування.

Кеш це наше все. У Бітрікс є система кешування компонентів, вона трохи заточена під самі компоненти, в цьому прикладі я не буду розглядати. У неї є свої плюси і свої мінуси, я розповім про них трохи пізніше.

Цей код можна використовувати якщо ви пишете на голому API Бітрікс обгортки для якого -то складного функціоналу.

$ SCacheTime - час кешірванія

$ SCacheID - ID кешу, тобто повинні бути перераховані всі параметри при яких змінюється висновок, але не забуваємо якщо у вас 10 000 користувачів і ви в ID кеша вказали $ iUserID то він зробить 10000 копій кешу цього висновку, якщо на нього зайдуть всі 10000 користувачів.

CDBResult :: NavStringForCache ($ iCountPageElement); - якщо використовується по сторінка то це включаємо, інакше буде кешувати ланцюжок. $ ICountPageElement) - кол-во елементів на сторінці

«/ Response / GetList /» - нехай куди складаємо кеш, щодо папки / bitrix / cache /

$ ObCache-> EndDataCache (array ( «ARRAY» => $ arResultFieldValue)); - ця функція як раз і записує ваш результуючий масив в кеш, а ця if ($ obCache-> InitCache ($ sCacheTime, $ sCacheID, «/ response / GetList /»)) перевіряє чи є кеш і якщо він є повертає закешовану масив.

Все досить просто, якщо потрібно очистити кеш, то є функція BXClearCache ();

Припустимо у нас є список відгуків, він звичайно закешовану. Щоб нам скидати кеш при додаванні нового потрібно всього лише або написати подія, або в функції додавання скидати кеш цією функцією.

Ось мабуть і все що хотів сказати з цього приводу.

І ще ось що є.

Рішення є, напишу звичайно окремий пост на цю тему.

Я там не можу бачити контактних даних, якщо не на першому колі :( В аську нічого не приходило, на жаль ... Я в моєму колі додався до речі

Схожі статті