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; } }
大家对这块有什么更好的方式,欢迎交流
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。