ASP.NET应用程序级缓存的设计思路与实现
来源:互联网 发布:活着 知乎 编辑:程序博客网 时间:2024/05/16 11:27
【如果有现成的开源或免费缓存组件,要告诉我哦】
背景
页面包含许多需要显示数据库数据的控件,每次打开页面的效率都很低
目标
-
减少页面响应时间,从而提高用户访问速度
-
缓存应在用户访问页面之前起作用,而不是像ASP.NET窗体/用户控件缓存那样随用户访问被动创建
-
能提供全局的缓存策略配置
-
不同的控件各自拥有不同的缓存空间、过期时间及数据更新逻辑
实现
- 定义一个应用程序全局缓存服务类,提供加载缓存策略配置、按配置初始化缓存(按即调用实现上述接口类的缓存初始化方法)及访问公共缓存的静态方法
- 定义一个接口,向应用程序全局缓存服务提供缓存初始化及键值获得的方法调用原型。凡继承此接口的类,在应用程序启动时可由应用程序全局缓存服务初始化缓存
- 定义一个数据集架构(xsd),提供缓存配置的持久化数据模型,数据保存于使用此架构的xml文件
- 制作一个窗体(或用户控件),提供应用程序缓存服务的运行时管理界面
/// <summary>
/// 应用程序全局缓存管理。
/// </summary>
public class CacheManager
{
public static void InitCache()
{
// 初始化Cache
}
public static object LoadCache(string key)
{
// 获取Cache中的数据,由key生成访问键值
}
public static void SaveCache(string key, object data)
{
// 将数据存入Cache,由key生成访问键值
}
}
/// 应用程序全局缓存管理。
/// </summary>
public class CacheManager
{
public static void InitCache()
{
// 初始化Cache
}
public static object LoadCache(string key)
{
// 获取Cache中的数据,由key生成访问键值
}
public static void SaveCache(string key, object data)
{
// 将数据存入Cache,由key生成访问键值
}
}
接口定义:
/// <summary>
/// 向应用程序全局缓存服务提供原型方法调用。
/// </summary>
public interface ICachedControl
{
string CacheKey { get; }
object GetData();
}
/// 向应用程序全局缓存服务提供原型方法调用。
/// </summary>
public interface ICachedControl
{
string CacheKey { get; }
object GetData();
}
未完待续
- ASP.NET应用程序级缓存的设计思路与实现
- 0/7 基于ASP.NET的Web应用程序框架Nello的设计与实现
- 自定义ASP.NET CheckBox的设计思路
- ASP.NET应用程序规划与设计
- ASP.NET应用程序规划与设计
- ASP.NET应用程序规划与设计(1)
- ASP.NET应用程序规划与设计(2)
- ASP.NET应用程序规划与设计(3)
- ASP.NET应用程序规划与设计(4)
- ASP.NET应用程序规划与设计(1)
- ASP.NET应用程序规划与设计(2)
- ASP.NET应用程序规划与设计
- 关于ASP.NET应用程序规划与设计
- 设计ASP.NET应用程序的七大绝招
- 设计ASP.NET应用程序的七大绝招
- 设计ASP.NET应用程序的七大绝招
- ASP.NET设计应用程序的七大绝招
- 设计ASP.NET应用程序的七大绝招
- 程序开发
- 创建数据库
- 金和软件
- [企业管理]从《亮剑》看团队建设之五——关于战场上的死亡与逃兵想到的胶冻团队组织的管理心理
- UNIX演义
- ASP.NET应用程序级缓存的设计思路与实现
- 选时与选股
- 最优化方法的Matlab实现
- ASP.NET 程序中常用的三十三种代码
- Java反射机制
- 使用数据2分处理的通用分页存储过程 前半部分与后半部分数据访问时间相同,同等访问速度提高一倍
- 放弃
- 2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高)
- Windows数据类型探幽——千回百转你是谁?