缓存方案笔记

 .NET缓存方案对比
存储方式存储位置过期策略优先级线程安全应用场景
Dictionary<string,object>hash内存不支持不支持不支持很少
Enterprise Library 5.0's Caching Application Block

hash(在内存中)

内存、数据库、文件等

支持 支持支持(过时、不推荐)

Caching by .NET Framework

hash内存支持支持支持较小规模(推荐)
memcached      
redis  内存支持支持支持大规模(推荐)

  

  

 

 

 

 

   

.NET数据缓存框架(Caching by .NET Framework)
支持功能应用场景

System.HttpRuntime.Cache

System.Web.Caching.Cache

System.Web.Context.Current.Cache

全部网站中缓存对象实例,HTML等web
System.Runtime.Caching.NET 4.0各种对象web / non-web
System.Web.Caching.OutputCacheProvider .NET 4.0网站中缓存HTML页面web

 

 

 

 

 

  

  

  说明

  1,System.Web.Caching.Cache ,System.Web.Context.Current.Cache 在实现上都是调用的System.HttpRuntime.Cache

  2,System.Runtime.Caching完全可以用于替代Enterprise Library Cache Application Block的作用。

  3,System.Runtime.Caching.ObjectCache: 抽象类,可用于自定义的缓存扩展。它定义了如下功能:

    (1)创建并管理缓存条目;

    (2)指明超时 和退出信息;

    (3)缓存条目发生变化时触发相应的消息;

       System.Runtime.Caching.MemoryCache:是System.Runtime.Caching.ObjectCache的实现,一般足够使用

  4,System.Web.Caching.OutputCacheProvider 抽象类,可用于自定义的网页HTML页面缓存。

   

redis

  Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。特点:

  (1)Redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的;

  (2)Redis相比许多键值数据存储系统有相对丰富的数据类型;

  (3)Redis可以将数据复制到任意数量的从服务器中;

 

参考:

  全面认识一下.NET 4.0的缓存功能

  http://www.cnblogs.com/hjf1223/archive/2010/07/16/net_4_caching.html

  Caching in .NET Framework Applications

  https://msdn.microsoft.com/en-us/library/dd997357(v=vs.110).aspx

转载于:https://www.cnblogs.com/the-owl/p/5656150.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值