Microsoft Enterprise Library Caching Application Block

Caching Application Block 的基本架构如下所示,图中很清楚的写出了Cache Manager可以使用3中方式对数据进行缓存:

1. Null backing store 存储策略   : 默认的存储策略,存储的数据只存储在内存的缓存中,并不持久保存, 它可用于所有支持的应用类型.适合于保存一些临时的数据,或者用于保存当你重启程序时想要恢复的一些数据.

2. Isolated storage 存储策略     : 隔离存储策略适用于以下情况:

  • 需要持久性的保存数据,访问用户较少.
  • 没有数据库设备.
  • 不想使用数据库这类开销较大的资源.

3.   Database Cache storage 存储策略  : 数据库存储策略,该数据库可以运行在使用缓存的或在不同的服务器应用程序相同的服务器,申请数目使用缓存,数据库可以支持只依赖于数据库的存储限制,使用 起来比较麻烦,需要自己写一些存储过程.

 

 

 

  默认的Null backing store 存储策略我们已经在上一章使用过了,Database Cache storage没研究透,先暂时不讲,如果有了解的朋友可以留言帮助完善,下面我们来看看Isolated storage 存储策略的实现:


复制代码
using System;
using System.Collections.Generic;
using Microsoft.Practices.EnterpriseLibrary.Caching;
using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;

namespace EnterpriseLibraryCacheTest
{
    
public partial class _Default : System.Web.UI.Page
    {
        
protected void Page_Load(object sender, EventArgs e)
        {
            
if (!IsPostBack)
            {
                TestCache();
            }
        }

        
protected void TestCache()
        {
            
//create cache
            CacheManager cm = (CacheManager)CacheFactory.GetCacheManager();

            
//add cache
            List<string> listQuery=new List<string>
            {
                
"1","2"
            };
            
//
            cm.Add("myCache", listQuery);

            
//get cache
            List<string> listResult = (List<string>)cm.GetData("myCache");

            
foreach (string ary in listResult)
            {
                Response.Write(ary);
            }
        }
    }
}
复制代码


posted @   leeolevis  阅读(256)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示