Изучение 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 23, 2020 г.
Время от времени продолжаю кодить под drupal 7, публикую еще один пример для работы EntityFieldQuery, на этот раз с фильтром по полю типа term reference.
Основная логика точно такая же как и при работе с data полями (где у нас хранятся тексты или ...
Читать
Май 13, 2020 г.
Как получить полный список зарегистрированных типов публикаций в Drupal 7. Задача типична для бек-енда при создании форм страниц настроек. Потому покажу в статье пример реализации поля для формы с выбором типов публикаций.
В API Drupal существует ...
Читать
Апрель 13, 2021 г.
Рассмотрим технику того, как выполнить node_save во время hook_node_insert.
Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции - не получится. Т.е. следующий код работать не ...
Читать
Февраль 4, 2021 г.
Если нужно использовать db_select вместо db_query, но не ясно как правильно составить SQL условие с оператором LIKE, читайте далее.
Здесь вам пригодится хелпер функция db_like, которую нужно применить к аргументу сравнения.
Небольшой пример ...
Читать