如何通过匿名函数更高效地利用缓存机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计706个文字,预计阅读时间需要3分钟。
数据缓存通常由数据源、缓存方案和读取操作组成。现有匿名函数可用于将数据源转换为匿名函数,从而直接声明一个缓存。例如:`protected static CacheManager Company=...`。
一个数据缓存,一般由数据来源,缓存方案,缓存读取来完成,现在有了匿名函数,可以把获取数据来源变为匿名函数。这样就可以直接声明一个缓存:
protectedstaticCacheManager<Company>companyCache=newCacheManager<Company>(newSmsDatabaseCache<Company>(),(key)=>{
returnSmsDatabase.Instance.Context.Company.Where(c=>c.ShortNumber==(string)key).SingleOrDefault();
});
SmsDatabaseCache是一个缓存方案,还可以使用SimpleCache,TimeoutCache等实现了ICache接口的类,因为我的ICacheManager从ICache继承,所以还可以实现级连缓存哟,例如:
SmsDatebaseCache是一个依SmsDatabase.Instance.Context的缓存方案,在LinqContextDispose时,会进行清空数据操作。本文共计706个文字,预计阅读时间需要3分钟。
数据缓存通常由数据源、缓存方案和读取操作组成。现有匿名函数可用于将数据源转换为匿名函数,从而直接声明一个缓存。例如:`protected static CacheManager Company=...`。
一个数据缓存,一般由数据来源,缓存方案,缓存读取来完成,现在有了匿名函数,可以把获取数据来源变为匿名函数。这样就可以直接声明一个缓存:
protectedstaticCacheManager<Company>companyCache=newCacheManager<Company>(newSmsDatabaseCache<Company>(),(key)=>{
returnSmsDatabase.Instance.Context.Company.Where(c=>c.ShortNumber==(string)key).SingleOrDefault();
});
SmsDatabaseCache是一个缓存方案,还可以使用SimpleCache,TimeoutCache等实现了ICache接口的类,因为我的ICacheManager从ICache继承,所以还可以实现级连缓存哟,例如:
SmsDatebaseCache是一个依SmsDatabase.Instance.Context的缓存方案,在LinqContextDispose时,会进行清空数据操作。
