User Tools

Site Tools


developer:caching

Кэширование

В ASP.NET используются два основных типа кэширования:

  • Кэширование данных
  • Кэширование вывода

Рассмотрим возможности их применения в проекте QP7.

Кэширование вывода

Реализуется с помощью директивы OutputCache на вкладке Presentation поля Format на странице свойств формата. В этом случае используется кэширование вывода на уровне пользовательских контролов. Необходимо учесть, что данный вариант подходит не всегда и не для всех объектов, так как в случае получения информации из кэша Code Behind выполняться не будет, что может быть неприемлемо.

Обычный синтаксис:

<%@ OutputCache Duration="100" VaryByParam="location;count" %>

Замечания:

  • Для объектов шаблона желательно использовать параметр Shared, что позволяет уменьшить нагрузку на память сервера.
  • Крайне не рекомендуется использование VaryByParam=“*” из-за вероятных проблем с производительностью

Кэширование данных

Реализуется по-разному в зависимости от того, как осуществляется доступ к данным.

Publishing Container

В свойствах контейнера есть настройки кэширования. В качестве ключа кэширования используется полная совокупность параметров хранимой процедуры (qp_GetContentPage), использующейся для получения данных.

QP7 Cache API

Доступно в виде экземплярных методов в классе DBConnector. Используется для кэширования результатов SQL-запросов, коллекций LINQ-to-SQL объектов и произвольных объектов. Более подробное описание здесь.

Discussion

Enter your comment
 
developer/caching.txt · Last modified: 2012/06/13 19:14 by celutp