WEB开发网
开发学院软件开发C语言 用匿名函数来更方便的使用缓存 阅读

用匿名函数来更方便的使用缓存

 2009-03-19 08:21:05 来源:WEB开发网   
核心提示:一个数据缓存,一般由数据来源,用匿名函数来更方便的使用缓存,缓存方案,缓存读取来完成,例如:SmsDatebaseCache是一个依SmsDatabase.Instance.Context的缓存方案,在LinqContextDispose时,现在有了匿名函数,可以把获取数据来源变为匿名函数

一个数据缓存,一般由数据来源,缓存方案,缓存读取来完成,现在有了匿名函数,可以把获取数据来源变为匿名函数。这样就可以直接声明一个缓存:

protected static CacheManager<Company> companyCache = new CacheManager<Company>(new SmsDatabaseCache<Company>(), (key) =>
             {
                 return SmsDatabase.Instance.Context.Company.Where(c => c.ShortNumber == (string)key).SingleOrDefault();
             });

SmsDatabaseCache是一个缓存方案,还可以使用SimpleCache,TimeoutCache等实现了ICache接口的类,因为我的ICacheManager从ICache继承,所以还可以实现级连缓存哟,例如:

SmsDatebaseCache是一个依SmsDatabase.Instance.Context的缓存方案,在LinqContextDispose时,会进行清空数据操作。

SmsDatabaseCache 

    public class SmsDatabaseCache<TData> : ICache<TData>
    {
        private Dictionary<object, TData> cache = new Dictionary<object, TData>();

        public SmsDatabaseCache()
        {
            SmsDatabase.Instance.PreDisposing += (s, e) =>
                {
                    cache.Clear();
                };
        }

        public TData Get(object key)
        {
            return cache[key];
        }

        public void Set(object key, TData data)
        {
            cache[key] = data;
        }
  
    }

1 2  下一页

Tags:匿名 函数 方便

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接