Просмотр полной версии : бесконечный кеш
Вопрос. Как сделать, чтобы страницы в кеше хранились бесконечно? Речь идет об обычном кеше - в базе данных.
Если я правильно понимаю, то устаревшая страница в cache_pages все равно хранится и обновляется при запросе. Т.е. таблица cache_pages не вырастет в случае бесконечного кеша.
Pavel Antonov
03.02.2009, 11:30
Вопрос. Как сделать, чтобы страницы в кеше хранились бесконечно? Речь идет об обычном кеше - в базе данных.
Если я правильно понимаю, то устаревшая страница в cache_pages все равно хранится и обновляется при запросе. Т.е. таблица cache_pages не вырастет в случае бесконечного кеша.
По умолчанию кэш никогда не сбрасывается - до ручной очистки кэша.
По умолчанию кэш никогда не сбрасывается - до ручной очистки кэша.
В смысле если cache_period не задавать, то кеш будет бесконечный? Вроде бы в этом случае кеш устаревает через сутки.
Pavel Antonov
03.02.2009, 20:48
В смысле если cache_period не задавать, то кеш будет бесконечный? Вроде бы в этом случае кеш устаревает через сутки.
Да, действительно. Как то не задумовался.
Попробуйте сделать кэширование в статические файлы, по логике они не должны быть подвержены временной очистке со стороны TYPO3.
У нас на странице есть один USER_INT элемент, поэтому в стат. файлы кешироваться не будет.
Но в cache_pages записывается и полностью устраивает за исключением времени хранения.
Ок, если нет стандартного решения, буду копаться в коде :)
Дмитрий Самойлов
04.02.2009, 13:33
записываем в setup
config.cache_period = 315360000
условно полагая, что 10 лет это примерно бесконечность :)
(в то же время не забываем, что на конкретных страницах, в advanced настройках, можно перегрузить время жизни кеша страницы)
А вы попробуйте так написать. Там максимум что-то около месяца получается назначить.
300 дней для времени хранения кеша можно проставить (cache_period = 25920000).
Странно, раньше не получалось, наверное, я пробовал поставить 10 лет :)
Тут, кстати, еще один вопросик всплыл. Можно для конкретной страницы в TSConfig задать ее время кеша (то, что выбирается в "Кеш устаревает")?
dmartynenko
05.02.2009, 13:48
Можно в TS шаблоне задать:
config.cache_period = xxx
или
page.config.cache_period = xxx
Для конкретной страницы через условие IF или для всей ветки с помощью шаблона на странице.
И сответственно "Кеш устаревает" самой страницы оставить пустым.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot