PDA

Просмотр полной версии : бесконечный кеш


demav
03.02.2009, 10:55
Вопрос. Как сделать, чтобы страницы в кеше хранились бесконечно? Речь идет об обычном кеше - в базе данных.

Если я правильно понимаю, то устаревшая страница в cache_pages все равно хранится и обновляется при запросе. Т.е. таблица cache_pages не вырастет в случае бесконечного кеша.

Pavel Antonov
03.02.2009, 11:30
Вопрос. Как сделать, чтобы страницы в кеше хранились бесконечно? Речь идет об обычном кеше - в базе данных.

Если я правильно понимаю, то устаревшая страница в cache_pages все равно хранится и обновляется при запросе. Т.е. таблица cache_pages не вырастет в случае бесконечного кеша.

По умолчанию кэш никогда не сбрасывается - до ручной очистки кэша.

demav
03.02.2009, 11:52
По умолчанию кэш никогда не сбрасывается - до ручной очистки кэша.

В смысле если cache_period не задавать, то кеш будет бесконечный? Вроде бы в этом случае кеш устаревает через сутки.

Pavel Antonov
03.02.2009, 20:48
В смысле если cache_period не задавать, то кеш будет бесконечный? Вроде бы в этом случае кеш устаревает через сутки.

Да, действительно. Как то не задумовался.

Попробуйте сделать кэширование в статические файлы, по логике они не должны быть подвержены временной очистке со стороны TYPO3.

demav
04.02.2009, 00:22
У нас на странице есть один USER_INT элемент, поэтому в стат. файлы кешироваться не будет.
Но в cache_pages записывается и полностью устраивает за исключением времени хранения.

Ок, если нет стандартного решения, буду копаться в коде :)

Дмитрий Самойлов
04.02.2009, 13:33
записываем в setup
config.cache_period = 315360000

условно полагая, что 10 лет это примерно бесконечность :)
(в то же время не забываем, что на конкретных страницах, в advanced настройках, можно перегрузить время жизни кеша страницы)

demav
04.02.2009, 13:38
А вы попробуйте так написать. Там максимум что-то около месяца получается назначить.

demav
05.02.2009, 11:45
300 дней для времени хранения кеша можно проставить (cache_period = 25920000).
Странно, раньше не получалось, наверное, я пробовал поставить 10 лет :)

Тут, кстати, еще один вопросик всплыл. Можно для конкретной страницы в TSConfig задать ее время кеша (то, что выбирается в "Кеш устаревает")?

dmartynenko
05.02.2009, 13:48
Можно в TS шаблоне задать:
config.cache_period = xxx
или
page.config.cache_period = xxx

Для конкретной страницы через условие IF или для всей ветки с помощью шаблона на странице.

И сответственно "Кеш устаревает" самой страницы оставить пустым.