Можно ли указывать custom время жизни кэша для определенного поля?

Аватар пользователя rgzrgz1

Всем привет. Есть поле, в котором через php get берется афиша. В API сервиса рекомендуется не больше 15 запросов в минуту. (Думаю иначе возможен бан).

Вопрос такой, можно ли в Друпал сделать время кэша для определенного поля, скажем 40 минут? Может быть в самом поле указывать через php чтото вроде:

<?php
$cache_lifetime 
3200
$cache_file "cache/afisha"
?>
Тип материала:
0 Thanks

Комментарии

Аватар пользователя fairrandir
fairrandir 8 месяцев назад

Не совсем понятно, что имеется в виду под полем.
Тем не менее стандартная функция cache_set позволяет указывать lifetime.

Обычный алгоритм такой - получить данные из кэша, если в кэше пусто - дёрнуть апи и сложить данные в кэш.

Аватар пользователя rgzrgz1
rgzrgz1 8 месяцев назад
fairrandir написал:
Не совсем понятно, что имеется в виду под полем.

php Друпал поле в типе материала. Из этих полей вьюшка дергает данные. Если нужна афиша - вьюшка вытянет это поле. Но если будет много запросов, боюсь что забанит.

fairrandir написал:
Тем не менее стандартная функция cache_set позволяет указывать lifetime.
Обычный алгоритм такой - получить данные из кэша, если в кэше пусто - дёрнуть апи и сложить данные в кэш

это в template.php указывается функция?

Аватар пользователя fairrandir
fairrandir 8 месяцев назад
rgzrgz1 написал:
это в template.php указывается функция?

Это скорее там, где:

rgzrgz1 написал:
вьюшка вытянет это поле.

То есть перед тем, как дёргать удалённые данные. Вот неплохая статья - https://www.lullabot.com/articles/a-beginners-guide-to-caching-data-in-d...

Аватар пользователя rgzrgz1
rgzrgz1 8 месяцев назад
fairrandir написал:
rgzrgz1 написал:

это в template.php указывается функция?

Это скорее там, где:
rgzrgz1 написал:

вьюшка вытянет это поле.

То есть перед тем, как дёргать удалённые данные. Вот неплохая статья - https://www.lullabot.com/articles/a-beginners-guide-to-caching-data-in-d...

мало чего понял из этого, темболее в php я не силен.
Нашел функцию в самом вьювс - кэшировать блок. Выстаил там 30 минут. Это же не повлияет на кэширование во вкладке "производительность"? там время жизни кэша указано