#ruby-on-rails #radiant
#ruby-on-rails #radiant
Вопрос:
Я совершенно сбит с толку тем, как Radiant работает с кешем в стойке, попробовав больше. Насколько я понимаю, Radiant использует Rack::Cache to server только как способ кэширования на стороне клиента. Таким образом, Rack:: Cache проверит, является ли копия на стороне клиента все еще свежей, а затем решит, нужно ли снова генерировать содержимое из Radiant projects. Если это так, Radiant нужно хранить метаинформацию, такую как etag, в папках / tmp / cache / meta, но зачем также и информацию о сущности, где вы можете найти полный html, css и т.д. Внутри.
Если только Radiant cache не работает также как кэш на стороне клиента. Допустим, страница уже обслуживалась пользователем A, затем заходит пользователь B, если страница все еще «свежая», хотя он ранее не обслуживал страницу, страница будет обслуживаться непосредственно из кэша (из папки entity).
Я пытаюсь запустить radiant project в рабочем режиме, при первом запуске страницы в рабочем журнале отображается запрос, однако при обновлении страницы в рабочем журнале не отображается никаких запросов. Это должно быть правильно, потому что статус запроса страницы 304 Не изменен, поэтому он вообще не попадает в radiant projects. Однако, если я выполняю принудительное обновление или использую другой браузер для запроса страницы, рабочий журнал также не отображает запрос, хотя он показывает статус 200 OK. Итак, могу ли я сказать, что Radiant также работает как серверный кэш, что означает, что содержимое кэшируется на стороне сервера, и из этого кэша можно отправлять разные запросы, пока срок его действия не истек?
Я нашел это обсуждение http://groups.google.com/group/radiantcms/browse_thread/thread/d1e5f2836024d27f но, похоже, что другие люди говорят, что Radiant также работает только как кэш на стороне клиента. То, что я выяснил, выглядит запутанным.
Большое вам спасибо.
Ответ №1:
В конечном итоге я отвечаю на свои собственные вопросы, я пишу подробное объяснение по этому поводу.