Files
Umbraco-CMS/src/Umbraco.Core/Cache/RepositoryCachePolicyOptions.cs

52 lines
1.8 KiB
C#
Raw Normal View History

2017-07-20 11:21:28 +02:00
using System;
namespace Umbraco.Cms.Core.Cache
{
/// <summary>
/// Specifies how a repository cache policy should cache entities.
/// </summary>
public class RepositoryCachePolicyOptions
{
/// <summary>
/// Ctor - sets GetAllCacheValidateCount = true
/// </summary>
public RepositoryCachePolicyOptions(Func<int> performCount)
{
PerformCount = performCount;
GetAllCacheValidateCount = true;
GetAllCacheAllowZeroCount = false;
}
/// <summary>
/// Ctor - sets GetAllCacheValidateCount = false
/// </summary>
public RepositoryCachePolicyOptions()
{
PerformCount = null;
GetAllCacheValidateCount = false;
GetAllCacheAllowZeroCount = false;
}
/// <summary>
/// Callback required to get count for GetAllCacheValidateCount
/// </summary>
2017-05-12 14:49:44 +02:00
public Func<int> PerformCount { get; set; }
/// <summary>
/// True/false as to validate the total item count when all items are returned from cache, the default is true but this
2017-07-20 11:21:28 +02:00
/// means that a db lookup will occur - though that lookup will probably be significantly less expensive than the normal
/// GetAll method.
/// </summary>
/// <remarks>
/// setting this to return false will improve performance of GetAll cache with no params but should only be used
/// for specific circumstances
/// </remarks>
2017-05-12 14:49:44 +02:00
public bool GetAllCacheValidateCount { get; set; }
/// <summary>
/// True if the GetAll method will cache that there are zero results so that the db is not hit when there are no results found
/// </summary>
public bool GetAllCacheAllowZeroCount { get; set; }
}
2017-07-20 11:21:28 +02:00
}