WisDom .net开发框架设计 (数据缓存设计)

WisDom .net 数据缓存设计

1.为什么要数据缓存

      在wisDom.net我们的数据分为2类,1. 动态数据,这类数据的特点就是变化大,这类数据有数据量大。经常变化 2.静态数据 这类数据的特点是变化小,使用频繁。 比如用户,角色,权限,角色等数据  。因此我们把这部分数据在系统启动之初缓存进入数据

2.缓存优势

   1.很明显减少了查询数据库的次数。提高数据的访问速度

   2.提高数据的稳定性和可用性,如果数据库出现问题,程序还是还可以使用缓存数据

3. Net中的缓存技术

    

4.WisDom .net 中的实现

   在 WisDom .net 中我们选用的全局静态变量的方式来实现缓存 请看以下类图

  

  

附上DataCacheCoomon 的相关代码,给大家参考

 public abstract class DataCacheCoomon<T>
    {
        protected static List<T> DataCacheDict = null;
        private static object _obj = new object();

        public  DataCacheCoomon()
        {
            if (DataCacheDict == null)
            {
                lock (_obj)
                {
                    if (DataCacheDict == null)
                    {
                        DataCacheDict = new List<T>();
                    }
                }
            }
        }

        protected abstract void GetDataFromDb();


        /// <summary>
        /// 增加数据缓存
        /// </summary>
        /// <param name="dataItem"></param>
        public void AddDataCache(T dataItem)
        {
            DataCacheDict.Add(dataItem);
        }

        /// <summary>
        /// 删除数据缓存
        /// </summary>
        /// <param name="dataItem"></param>
        public void DelDataCache(T dataItem)
        {
            DataCacheDict.Remove(dataItem);
        }

        /// <summary>
        /// 获取字典缓存
        /// </summary>
        /// <returns></returns>
        public List<T> GetDataCacheDict()
        {
            return DataCacheDict;
        }

        
    }

 大家对这块有什么更好的方式,欢迎交流

WisDom .net开发框架设计 (数据缓存设计),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。