Прикладные кэши
Чтобы не тратить время на пересчет данных, воспользуйтесь результатами прошлого расчета, актуализируйте их и сохраните для последующего обращения. Данные, рассчитанные в предопределенной структуре прикладного кода, хранятся в отдельной SQL-таблице Sungero_System_Cache. Эта таблица представляет собой прикладной кэш. Используйте его для ускорения работы с данными. Например, в виджете для быстрого получения заданий подразделения с использованием кэша ранее вычисленных заданий:
/// <summary>
/// Получить задания подразделения из кэша.
/// </summary>
/// <param name="department">Подразделение.</param>
/// <returns>Задания подразделения.</returns>
public static Shell.Structures.Module. GetCachedAssignment(IDepartment department)
{
var key = string.Format(Shell.Constants.Module.DepartmentAssignmentsCacheKey, department.Id);
Shell.Structures.Module.EmployeeAssignmentsCache cachedAssignmentCompletion;
if (Cache.TryGetValue(key, out cachedAssignmentCompletion))
cachedAssignmentCompletion = UpdateEmployeeAssignmentsCache(cachedAssignmentCompletion, Sungero.Shell.Constants.Module.DepartmentCache);
if (cachedAssignmentCompletion.IsChanged)
Cache.AddOrUpdate(key, cachedAssignmentCompletion, Calendar.Today.AddDays(90));
return cachedAssignmentCompletion;
}
© Компания Directum, 2024 |