2016-02-17 2 views
0

Я использую Orchard CMS версии 1.7.3 Для реализации кэширования я использую ICacheManager Orchard (метод Get, предоставляемый этим интерфейсом).Кэширование садов на сервере

У меня есть один вопрос, работает ли этот интерфейс ICacheManager, генерирует кеш на сервере для каждого запроса? Например, -Пользователь 1 удаляет страницу A. Создается кеш. Пользователь 1 снова попадает на страницу, отображается кеш-версия. -User 2 показывает страницу A после пользователя 1. Теперь будет создан новый кеш для пользователя 2 или кеш, сгенерированный пользователем 1, также будет использоваться для пользователя 2?

ответ

0

Из моего опыта работы в Orchard я заметил, что менеджер кэширования применяется ко всем пользователям. Это означает, что вы должны быть осторожны при создании кэшированных результатов для пользовательских данных.

+0

Спасибо за ваш ответ @damanptyltd Я также заметил, что даже если кеш генерируется, загрузка процессора довольно высока при попадании в кешированную страницу. –

+0

«Кэшированная страница» и страница с кодом, использующим ICacheManager, различны. Использование ЦП на странице, которая реализует ICacheManager, вероятно, будет по-прежнему высока, так как остальная часть страницы и все служебные данные для садов не кэшируются, а только разделы, которые кэшируются с помощью диспетчера кэша. Если вы используете встроенный кеш вывода, вы увидите более низкое использование ЦП, поскольку весь вызов этой страницы будет кэшироваться. – damanptyltd

+0

Hey @damanptyltd, активирован модуль кэша вывода. Я профилирую свой сайт, и я замечаю огромное количество вызовов sql для получения информации, такой как Title или Autoroute (url). Я ничего не делаю, я использую интерфейс интерфейса IContentManager Orchard для извлечения данных. Тем не менее, я не могу окунуться в голову, почему такое высокое использование ЦП. –