$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();