Cache и Paginate RSS Feed в Rails
Я работаю над приложением типа потоковой передачи в Rails и постоянно анализирую несколько различных RSS-каналов с помощью Feedzirra. Чтобы поддержать масштабирование приложения, мне нужно реализовать какое-то кэширование, а также разрешить разбивать кэшированные результаты в представлении. Срок действия кэша может истечь всего один раз в день.
Будучи новичком в области кэширования в Rails, какие типы кэширования будут рекомендованы для этого? Кроме того, я выполняю большинство операций разбора каналов в модулях в моей директории lib/, но не уверен, что это повлияет / не подойдет для кэширования. В идеале я хотел бы кэшировать массив результатов, которые возвращает RSS-канал, и выполнить некоторую постобработку, прежде чем отправить его в представление.
Любая помощь приветствуется!
1 ответ
Я предлагаю вам использовать гем для запуска задачи расписания в cron, собирать все желаемые результаты из всех ваших RSS-каналов и сохранять их в XML или даже в таблице.
В следующий раз загрузите результаты из этого xml или таблицы и создайте статические кэшированные страницы (html файлы).
И каждый раз, когда вы запускаете задачу расписания, стирайте свои предыдущие сохраненные файлы, чтобы старые результаты не отображались.