Изучение API удобно начинать с шаблонов кода, которые демонстрируют технику использования.
Пример логики использования/создания элемента кеша
|
|
$cache_id = 'my_cache_element_name_cid'; if (($cache = cache_get($cache_id)) && REQUEST_TIME < $cache->expire) { // используем значение из кеша $data = $cache->data; } else { // формируем новое значение и данные для кеша ... $data = ....; cache_set($cache_id, $data, 'cache', REQUEST_TIME + 3600 * 12); // в примере время жизни данных - 12 часов } |
Обратите внимание на дополнительные скобки вокруг $cache = cache_get($cache_id). В многочисленных примерах и копиях примеров в интернет, их обычно нет, что обычно приводит к постоянному вычислению переменной $data, т.е. кеш никогда не используется.
Drupal 7
Данная запись опубликована в 14.05.2019 15:50 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 15, 2019 г.
Типичная проблема при использовании модуля views - как вывести результат группировки, т.е. столбец вроде COUNT(*).
Это можно сделать штатными средствами ...
Читать
Май 31, 2019 г.
С комментариями в Drupal во все времена было на мой взгляд - всё сложно. В 7ке сущность стала частью конструктора, стало веселее, но общий шаблон комментариев так и остался "костью в горле" у многих программистов.
В настройках типа публикации вы ...
Читать
Декабрь 7, 2017 г.
Один раз начав работать с EntityFieldQuery, вы уже не захотите городить SQL запросы с джойнами таблиц полей сущностей. Что то сложное, возможно, сделать будет слишком трудно на этом конструкторе, но типовые выборки данных делать приятно, быстро и удобно. ...
Читать
Апрель 13, 2021 г.
Рассмотрим технику того, как выполнить node_save во время hook_node_insert.
Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции - не получится. Т.е. следующий код работать не ...
Читать