DataDictCache | 全局缓存设计逻辑详解|C/S开发框架

DataDictCache - 全局缓存设计逻辑详解
目录
DataDictCache类应用场景
DataDictCache类用于缓存轻量数据到内存中,比如常用基础数据,如:产品类别、单位、货币等数据。用户界面经常使用的参考数据(Lookup Data),比如《应收款》、《应付款》、《帐款查询》等界面使用的货币资料。DataDictCache使用单件模式,只需要下载一次缓存起来,避免重复下载的数据。
基于性能优化,我们要尽量避免重复获取数据,毕竟基础资料是很少改动的,一次性缓存起来使用更方便。
注意:经常变动的基础数据不建议用使用缓存机制,因为有数据不同步的问题。
单例模式(Singleton Pattern)
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
DataDictCache类单例模式应用
C# 全选
private static DataDictCache _Cache = null;
/// <summary>
/// 缓存数据唯一实例
/// </summary>
public static DataDictCache Cache
{
get
{
if (_Cache == null) _Cache = new DataDictCache();
return _Cache;
}
}Region - 区域资料缓存
C# 全选
/// <summary>
/// 区域资料
/// </summary>
public DataTable Region
{
get
{
DataTable dt = FindFromCache("C_area");
if (dt == null)
{
dt = CommonData.GetArea();
AddToCache(dt.Copy());
}
return dt;
}
}User - 用户资料缓存
C# 全选
/// <summary>
/// 用户资料
/// </summary>
public DataTable User
{
get
{
DataTable dt = FindFromCache(sys_User._TableName);
if (dt == null)
{
dt = CommonData.GetUsers();
AddToCache(dt.Copy());
}
return dt;
}
}DataDictCache类使用方法
C# 全选
DataTable dt1 = DataDictCache.Cache.User;
DataTable dt2 = DataDictCache.Cache.Region;

参考文档:
CSFrameworkV6删除全部Demo功能整合一套纯净版开发框架|C/S开发框架
CSFrameworkV6.0旗舰版开发框架升级更新日志|C/S开发框架
DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架
主窗体状态栏(StatusBar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
C#统计List 字符串属性长度(返回每个属性的最大长度)|C/S开发框架
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
ToolTipController超提示组件显示超提示信息在指定位置|C/S开发框架
FastReport.NET自动文本宽度+自动换行+自动行高|C/S开发框架
C#获取MAC地址包括物理网卡和虚拟网卡|C/S开发框架
CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架
CSFrameworkV6快速开发框架 | 使用PostgreSql 数据库测试报告|C/S开发框架
CSFramework WebApi开发框架集成PostgreSql数据库及测试报告|C/S开发框架
DevExpress LookupEdit按回车键自动确认选择数据|C/S开发框架
FastReport.NET2023破解版去除水印DEMO VERSION (2025.1.14/2023.2.18版本)|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6删除全部Demo功能整合一套纯净版开发框架|C/S开发框架
CSFrameworkV6.0旗舰版开发框架升级更新日志|C/S开发框架
DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架
主窗体状态栏(StatusBar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
C#统计List 字符串属性长度(返回每个属性的最大长度)|C/S开发框架
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
ToolTipController超提示组件显示超提示信息在指定位置|C/S开发框架
FastReport.NET自动文本宽度+自动换行+自动行高|C/S开发框架
C#获取MAC地址包括物理网卡和虚拟网卡|C/S开发框架
CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架
CSFrameworkV6快速开发框架 | 使用PostgreSql 数据库测试报告|C/S开发框架
CSFramework WebApi开发框架集成PostgreSql数据库及测试报告|C/S开发框架
DevExpress LookupEdit按回车键自动确认选择数据|C/S开发框架
FastReport.NET2023破解版去除水印DEMO VERSION (2025.1.14/2023.2.18版本)|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
