cache_set
includes/cache-install.inc, строка 17
- Версии
- 5
cache_set($cid, $table = 'cache', $data, $expire = CACHE_PERMANENT, $headers = NULL)
- 6
cache_set($cid, $data, $table = 'cache', $expire = CACHE_PERMANENT, $headers = NULL)
Сохраняет данные в кэше.
Кэш хранится в 4 таблицах базы. Модули могут создавать свои дополнительные таблицы.
'cache_page'
: таблица по умолчанию хранит данные для анонимных пользователей.
Это единственная таблица, на которую влияют настройки кэширования страниц в администраторском разделе.
'cache_menu'
: Хранит кэшируемую часть пользовательских меню.
'cache_filter'
: Хранит фильтрованный контент. Эта таблица периодически очищается от устаревших записей по крону.
'cache'
: Основная таблица для хранения кэша.
Причины использования нескольких таблиц:
- таблицы меньшего размера позволяют быстрее совершать выборки и вставки данных
- мы стараемся хранить быстро изменяющиеся элементы кэша и более статичные в разных таблицах. В результате только быстро меняющиеся таблицы будут требовать частых записей на диск. Более статичные же таблицы будут лучше кэшироваться кэшем запросов MySQL.
Параметры
$cid
ID данных для сохранения в кэш.
$data
Данные, сохраняемые в кэше. Составные типы данных автоматически сериализуются
перед вставкой.
Строки хранятся как обычный текст и не сериализуются.
$table
Таблица $table
для хранения данных. Значения, доступные по умолчанию: 'cache_filter'
,
'cache_menu'
, 'cache_page'
и 'cache'
.
$expire
Одно из следующих значений:
- CACHE_PERMANENT: Указывает, что элемент не может быть удален до тех пор, пока это явно не будет потребовано вызовом функции cache_clear_all() с ID кэша в качестве аргумента.
- CACHE_TEMPORARY: Указывает, что элемент должен быть удален при следующей общей очистке кэша.
- Unix timestamp: Указывает, что элемент должен быть сохранен по крайней мере до указанного времени, после чего он начинает вести себя как CACHE_TEMPORARY.
$headers
Строка, содержащая HTTP-заголовки ответа для полностью закэшированных страниц.Код
<?php
function cache_set($cid, $data, $table = 'cache', $expire = CACHE_PERMANENT, $headers = NULL) {
return;
}
?>
Код функции, который приведён выше - заглушка из файла includes/cache-install.inc
Код из includes/cache.inc: