ASP.NET应用程序级缓存的设计思路与实现

【如果有现成的开源或免费缓存组件,要告诉我哦】

背景

页面包含许多需要显示数据库数据的控件,每次打开页面的效率都很低

目标

  1. 减少页面响应时间,从而提高用户访问速度
  2. 缓存应在用户访问页面之前起作用,而不是像ASP.NET窗体/用户控件缓存那样随用户访问被动创建
  3. 能提供全局的缓存策略配置
  4. 不同的控件各自拥有不同的缓存空间、过期时间及数据更新逻辑

实现

  1. 定义一个应用程序全局缓存服务类,提供加载缓存策略配置按配置初始化缓(按即调用实现上述接口类的缓存初始化方法访问公共缓存的静态方法
  2. 定义一个接口,向应用程序全局缓存服务提供缓存初始化键值获得的方法调用原型。凡继承此接口的类,在应用程序启动时可由应用程序全局缓存服务初始化缓存
  3. 定义一个数据集架构(xsd),提供缓存配置的持久化数据模型,数据保存于使用此架构的xml文件
  4. 制作一个窗体(或用户控件),提供应用程序缓存服务的运行时管理界面
应用程序全局缓存服务的类定义:
     /// <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>
    
/// 向应用程序全局缓存服务提供原型方法调用。
    
/// </summary>

     public   interface  ICachedControl
    
{
        
string CacheKey get; }
        
object GetData();
    }


未完待续
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值