示例#1
0
        public object Get(string key, Type type)
        {
            ICacheItem item = GetCacheItem(key);

            if (item != null)
            {
                IPolicy policy = GetPolicy(type);
                if (policy != null && !policy.IsAvailable(item))
                {
                    item = null;
                }
            }
            if (item == null)
            {
                object data = DBManager.Get(key, type);
                if (data != null)
                {
                    item = new implement.CacheItem {
                        CreateTime = DateTime.Now, Data = data, Key = key
                    };
                }

                if (item != null)
                {
                    mLevelCacheds[mLevelCacheds.Count - 1].Set(item);
                    return(item.Data);
                }
            }
            return(null);
        }