Я экспериментировал с кэшированием фрагментов Russian Doll в приложении Rails, а точнее на его главной странице Dashboard. Это первая страница, которую видит пользователь после входа в систему, и она является отличным кандидатом на роль матрешки, так как содержит множество вложенных элементов.
Кэширование хорошо работает в ситуациях, когда пользователь сам вносит изменения, которые требуют от приложения повторного рендеринга панели мониторинга. Время загрузки с кэшированием примерно в 4 раза быстрее, чем при рендеринге всей страницы.
Однако бывают ситуации, когда данные изменяются системой. Например, каждую ночь мы обновляем все значения по новому курсу за предыдущий день. Это автоматически истечет срок действия большинства фрагментов на панели инструментов, и на следующее утро пользователь столкнется с холодным кешем при входе в систему.
Можно ли регенерировать эти кэши фрагментов после обновления системы, чтобы они оставались теплыми? Я думаю, я мог бы вручную write
фрагменты после любого обновления системы, но мне также пришлось бы вручную управлять ключами и зависимостями. (В настоящее время я использую гем cache_digest
, что очень удобно.).
Есть идеи?