ASISG

Gy - php framework/CMS | Документацыя | Работа с кешем

<-- Содержание

Работа с кешем в админке

Можно сбросить кеш, для этого нужно зайти в админ панель -> "Настройки" и нажать кнопку "сбросить кеш". при этом сбросится весь кеш созданный по примеру ниже.

Работа с кешем в коде

Первоначально нужно что бы в настройках gy_config.php был выбран класс для работы с кешам, на сегодня реализован только cacheFiles - это класс для работы с файловым кешем, т.е. кеш будет храниться в виде файлов в разделе /gy/cache - а кнопка описанная выше просто удаляет содержимое папки. Как временное решение имя класса кеша записывается в глобальную переменную $cacheClassName и далее работа ведётся с ней как с именем класса.

Пример использования в коде

Нужно инициализировать кеш (указав название кеша и время), если такой кеш есть то взять данные из него а если нет выполнить код получения данных и записать данные к кеш.

global $app;
global $cacheClassName;
$cache = new $cacheClassName($app->url);
$initCache = $cache->cacheInit('getAccessGroup', self::$cacheTimeGetData); // инициализация кеша

if ($initCache){
 $arResult = $cache->getCacheData(); // получение данных из кеша
}else{

 // !!! тут должен быть код получения данных и запись их в $arResult

 $cache->setCacheData($arResult); // запись данных в кеш
}

Также есть метод сброса кеша для текущего объекта кеша, т.е. после инициализации clearThisCache(). Все методы можно посмотреть в исходниках тут - gy/classes/cacheFiles.php

Пример файла с кешем

<? $cacheData = '{"data":{"ITEMS":{"1":{"id":"1","id_container_data":"1","id_element_container_data":"1","id_property_container_data":"1","value":"\u041f\u0440\u0438\u0432\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u0442\u0435\u0431\u044f \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 gy php framework\n \u0438 \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0438\u0437 \u0435\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438!!!"}}},"createTime":1575221651,"cacheTime":86400}';


Смотреть документацию в GitHub.com