什么是对象缓存
对象缓存是缓存系统,其关键是建立复杂的对象。复杂的对象,可以帮助我们定义具有多个值的关键。然而,对象缓存的功能不仅限于此。这里是列表对象缓存功能。特点复杂的对象高速缓存元素一直被认为是并发问题缓存项的续航时间可以延长缓存可以根据业务管理的目的分类缓存系统上运行。NET框架2.0和3.5nbsp的;这arenbsp;时下的流行什么是缓存解决的问题1。高速缓存的元素有多个值的关键
功能是从Web服务返回的记录工作的关键。在大多数情况下,从Web服务返回的记录请求对象有多个值确定。
例如,我们想要求员工的时间表??通过时间范围和departmentId的。所以返回的时间表将取决于开始时间,结束时间和departmentId。迁移的三个值缓存键值缓存从Web服务的时间表,如果我们想,这将是比较顺利的。
2。缓存项的一生是灵活//define the key
public class GetEmployeeKey : GetEmployeeRequest , IEquatable<GetEmployeeKey>
{
public GetEmployeeKey(GetEmployeeRequest request)
{
this.EmployeeId = request.EmployeeId;
this.DepartmentId = request.DepartmentId;
this.CategoryId = request.CategoryId;
}
public override Equals(GetEmployeeKey other)
{
if(other == null)
return false;
return this.EmployeeId == other.EmployeeId
&& this.DepartmentId == request.DepartmentId
&& this.CategoryId == request.CategoryId;
}
}
public class SomeBusiness
{
public void DoSomething(GetEmployeeKey request)
{
var cache = CacheManager.Instance.GetCache<GetEmployeeKey,
IEnumerable<EmployeeType>>();
var employees = cache.GetWithCreate(new GetEmployeeKey(request),
()=>PortFactory.Create().GetEmployee(request),
new InstanceToken(this));
//some code against employees
}
}
有3种对象缓存的生命周期。InstanceTokenAbsoluteTimeTokenSlideTimeToken
然而,缓存项的一生可以继承BaseToken延长。
如果缓存项的生存期过期,缓存项将被删除,isnbsp;在高速缓存中不再可用。InstanceToken被引用的对象确定的寿命。
寿命到期,如果引用的对象被收集的垃圾回收机制(GC)。
但是,如果引用的对象是System.Windows。 Forms.Control或它的继承,寿命已过期,如果Created属性的值更改为false。
AbsoluteTimeToken寿命到期,如果预先定义的时间间隔。
比方说,创建于8时05分00秒的缓存项和寿命为5秒。然后,缓存项的寿命在8时05分05秒到期。
SlideTimeToken如果预定义的时间间隔寿命到期。然而,如果缓存项的访问发生在一生的时间,缓存项到期时间将被更新。
比方说,在八时05分00秒的缓存项和寿命为5秒。如果一个缓存项的访问发生在8时05分04秒,缓存项到期时间将被更新至8时05分09秒。
3。范围
缓存的范围决定的缓存键。准确地说,它是从本能的强类型的缓存键的功能。
例如,我们可能希望在一个类只能使用高速缓存。唯一要做的是定义为私人嵌套类,在类的缓存键。{C}
缓存的背后隐藏着类。缓存被正确地使用类以外的类内无后顾之忧。
这是一个名称缓存,一个字符串值,在任何地方访问这些缓存机制的优势。如果你希望在全球的应用可以访问您的高速缓存,只需改变从私人到公共缓存键类修饰符。
{A}(objectcahe.codeplex.com)在CodePlex去了解更多有关它的信息。
此外,对球队的更多信息,请访问我们的网站{A2}。{S0的}| cao4zy