$nc_core->cache
Появилось в версии: 6.3
Возвращает экземпляр по-умолчанию сервисного класса nc_file_cache_service для кэширования данных в файле. Файлы кэша данного объекта хранятся в директории /netcat_cache/shared
/** * Возвращает идентификатор службы * * @return string */ public function get_service_id(); /** * Получить кэш по ключу * * @param string $key * * @return mixed|null */ public function get($key); /** * Установить кэш по ключу * * @param string $key * @param mixed $value * @param int $ttl * * @return void */ public function set($key, $value, $ttl = nc_cache_service::DEFAULT_TTL); /** * При наличии кэша возвращает кешированную версию результата выполнения closure, в ином случае сохраняет его в кэш * * @param string $key * @param closure $closure * @param int $ttl * * @return mixed */ public function remember($key, $closure, $ttl = nc_cache_service::DEFAULT_TTL); /** * Удаление кэша по ключу * * @param string $key * * @return void */ public function delete($key); /** * Имеется ли кэш по заданному ключу * * @param string $key * * @return boolean */ public function has($key); /** * Очистить весь кэш экземпляра * * @return void */ public function clear();
$cache_service = nc_Core::get_object()->cache; $data = array(1, 2, 3, 4, 5); $service_id = $cache_service->get_service_id(); // Установка кэша способ 1 $cache_service->set("cache_1", $data); $cache_service->get("cache_1"); // Установка кэша способ 2 через замыкание $cache_service->remember("cache_2", function () { return array(1, 2, 3, 4, 5); }); $cache_service->delete("cache_2"); if ($cache_service->has("cache_1")) { $cache_service->delete("cache_1"); } // Очистка всего кэша в рамках экземпляра класса $cache_service->clear();