当前位置: 首页 > 编程日记 > 正文

7.1.1 [Enterprise Library]缓存应用程序块场景和目标

缓存应用程序块为解决开发人员在缓存数据时所面对的绝大多数任务而设计。这些任务根据场景进行了组织,每个场景都给出了一个真实世界情况的示例,如添加条目到缓存,讨论了情况所需要的缓存功能,并展示了完成任务的代码。

根据场景组织这些任务的目的是给代码一个上下文环境。代替描述一组孤立的方法,以及无意义的可被最佳使用的地方,场景为代码提供了一个设置,并在对许多应用程序必须缓存数据的开发人员来说相似的情况中使用它。

被讨论的场景如下:

  • 选择并配置一个缓存存储

  • 添加一个条目到缓存,并设置它的过期时间

  • 从缓存中移除一个条目

  • 从缓存中获取一个条目

  • 清除缓存

决定何时使用缓存应用程序块

缓存应用程序块被设计工作在绝大多数常规数据缓存情况中,当它是应用程序且缓存已存在于同样的系统中时。这意味着缓存是局部的,并且仅能由那个应用程序所使用。当它在这些原则中操作时,应用程序块解决下列情况是完美的:

需要跨不同应用程序环境的一致形式的缓存的情况

例如,使用缓存应用程序块,开发人员可以编写相似的代码来实现宿主在Internet 信息服务(IIS)中的应用程序组件、企业服务和智能客户端环境中的缓存。同时,同样的缓存配置选项已存在于所有的环境中。

需要可配置和持久化后端存储的情况

缓存应用程序块同时支持独立存储和数据库后端存储。开发人员可以创建其他后端存储并使用它的配置设置添加它们到缓存应用程序块中去。应用程序块在缓存条目的数据被持久化到后端存储前加密它。

需要修改缓存配置设置而不需要修改应用程序源码的情况

开发人员首先可以缩写使用一个或多个命名缓存的代码,系统操作员和开发人员可以随后用 Enterprise Library 配置控制台不同地配置每个命名缓存。

需要下列任何过期设置的情况:绝对时间、滑动时间、扩展的时间格式(例如,每个午夜)、文件依赖或者永不过期

关于使用过期设置的更多信息,请参见过期处理的设计。

开发人员打算修改缓存应用程序块的源码

关于修改缓存应用程序块的更多信息,请参见修改缓存应用程序块。

另外,缓存应用程序块提供了与其他 Enterprise Library 应用程序块一致的开发模型。缓存应用程序块为后端存储功能与数据访问应用程序块进行了无缝集成。以同样的方式,安全应用程序块包含了由缓存应用程序块提供的缓存能力。开发人员和操作人员使用 Enterprise Library 配置控制台配置应用程序块。

使用缓存应用程序块的其他选择

由其他缓存解决方案更好服务的情况是当多个应用程序使用缓存或者当缓存和应用程序不在同一系统中时。例如,不能跨越一个 Web farm 同步缓存。

ASP.NET 缓存

.NET 框架在 System.Web 命名空间中包含了 ASP.NET 缓存,ASP.NET 应用程序开发者通过 System.Web.HTTPContext.Cache 对象访问这个缓存。ASP.NET 缓存被开发并为 ASP.NET 应用程序进行了调整。然后,这个缓存也可以通过访问 System.Web.HTTPRuntime.Cache 对象来在 ASP.NET 应用程序之外使用。ASP.NET 缓存需要 System.Web 程序集,开发人员要验证该程序集在需要的平台和目标环境中是受支持的。

安全

尽管可以加密缓存在后端存储中的数据,缓存应用程序块不支持缓存在内存中的数据加密。如果恶意用户找到危及系统安全的方法,并访问到应用程序进程的内存,他或她将能访问存储缓存中的信息。如果这对应用程序来说是重大威胁,就不要在缓存中存储敏感信息,如信用卡号码或密码。

转载于:https://www.cnblogs.com/doriandeng/archive/2007/10/23/935174.html

相关文章:

中式古建筑su模型大全

中式古建筑su模型大全 sketchup草图大师古建塔亭子寺庙名楼民居古建筑中式su模型素材 sketchup模型 古代建筑 古代房屋 古镇 古代街景 古代商业街 古代园林 阁楼 寺庙 含各类古建筑模型合集su模型 文件解压后大小:13G 含预览图 百度一下 云桥网络 平台huo取 素材…

Java学习总结:24

Lambda表达式 Lambda表达式指的是应用在单一抽象方法(SAM)接口环境下的一种简化定义形式,可以用于解决匿名内部类的定义复杂问题。 Lambda表达式的语法: (参数)->方法体相当于子类覆写抽象方法的方法体 例:Lambda表达式入门操作 packa…

【转】Flask安装

Flask 依赖两个外部库:Werkzeug 和 Jinja2 。 Werkzeug 是一个 WSGI(在 Web 应用和多种服务器之间的标准 Python 接口) 工具集。Jinja2 负责渲染模板。 那么如何在你的电脑上安装这一切?虽说条条大道通罗马,但是最强大的方式是 vi…

OpenFeign服务接口调用

OpenFeign是什么? Feign是一个声明式的web服务客户端,让编写web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可。 OpenFeign能干什么? Feign和OpenFeign两者区别 OpenFeign使用步骤

完美解决网站PNG图标在IE6下的透明显示

现在IE6虽然有些落后,但不少xp用户还是首选IE6浏览器,一款经典长久也标准快速的浏览器必然会有忠实的用户,png图标IE6下默认是不支持的,可以通过js代码实现,下面由一叶扁舟为大家整理,代码可直接下载一、下…

WPF Layout System

http://blog.tangcs.com/2009/05/23/wpf-layout-system/转载于:https://www.cnblogs.com/WarrenTang/archive/2009/05/23/1487622.html

ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush

ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush 时长:8小时|视频:1920X1080 。教程大小 2.6G 语言:英语中文字幕 百度一下 云桥网络 平台huo取 教程! 这个课程非常适合那些…

Java学习总结:25

内建函数式接口 对于可能出现的函数式接口的方法最多只有4类:有参数有返回值、有参数无返回值、无参数有返回值、判断真假。 为了简化开发者的定义以及实现操作的统一,Java提供了一个新的开发包:java.util.function,并且在这个包…

Uva 3767 Dynamic len(set(a[L:R])) 树套树

Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&pageshow_problem&problem3767 Description 给你n个数,m次操作 Q x y 询问[x1,y]有多少个不同的数…

2022-2028年中国锂电池设备行业深度调研及投资前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国锂电池设备行业市场行业相关概述、中国锂电池设备行业市场行业运行环境、分析了中国锂电池…

Cocos Studio的动画系统介绍

Cocos Studio介绍Cocos Studio是一套基于Cocos2D-x的免费游戏开发工具集,它能帮助开发者快速创建游戏资源,将大部分繁琐的游戏开发工作使用编辑器来快速制作,进一步帮助游戏开发者减短开发周期、提高开发效率。Cocos Studio本身不光只是针对[…

机器学习实战源码数据集

链接:https://pan.baidu.com/s/1Ss7x60VXdyQFYW9aiKS0Lg 提取码:9xj6 github下载地址: 转载于:https://www.cnblogs.com/YukiNote/p/11286106.html

blender硬表面建模渲染终极教程

blender硬表面建模渲染终极教程 Gumroad - The ULTIMATE Guide to Hard Ops and Boxcutter Gumroad-硬操作和切箱机的终极指南 教程大小 6G 1920X1080分辨率 语言:英语中文字幕 含案例源文件 云桥网络 平台获取教程 本教程共包含两大部分 第一部分 硬操作和Boxcutter菜单…

Java学习总结:26

线程与进程 进程是程序的一次动态执行过程,它经历了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到最终消亡的过程。 线程是比进程更小的执行单位,线程是在进程的基础上进行的进一步划分,一个进程…

UINavigationController技巧一——修改返回按钮的标题

UINavigationController 一般push到另一界面后,返回按钮标题便是上一页面的title,但是对于push的第一页或者是上一页面没有title的,返回按钮标题便是默认back,如图所示 在本页面修改title没有用,试了很多办法终于找到 …

Idea groovy表生成实体类带注释

Idea groovy表生成实体类带注释 1.点开datasourse,打开idea带的数据库工具,具体添加数据库连接,这里不描述。 这时点击会生成一个poji 这时生成的pojo中是不带中文注释的,需要自己配置,往下: 3.根据图中的步…

fflush函数的深入理解

本人昵称sky,欢迎与各位多多交流学习 这样的c程序想必大家都不陌生,fflush()这个函数有清除输入输出缓存的功能,那很多人就会问了,什么是清除输入输出缓存呢? 其实就是我们在printf输出的时候,是先输出到一…

VS快捷键专题

如要初始化VS开发环境,使用如下命令:开始->运行->键入“devenv.exe /resetuserdata”。 ShiftAltEnter: 切换全屏编辑CtrlB,T / CtrlK,K: 切换书签开关CtrlB,N / CtrlK,N: 移动到下一书签CtrlB,P: 移动到上一书签CtrlB,C: 清除全部标签CtrlI: 渐进式搜索CtrlShiftI: 反向…

Maya阿诺德室外环境灯光照明和渲染技术学习视频教程

Maya阿诺德室外环境灯光照明和渲染技术学习视频教程 Maya and Arnold_ Exterior Lighting and Rendering 教程时长 1小时47分 大小 1.1G 1280X720分辨率 使用软件:Maya 、 Arnold、PS 共八大章 33小节 语言:英语机译中文字幕 作者推荐 翻译还算比较准确…

Java学习总结:27

多线程常用操作方法 线程的命名与取得 由于多线程的状态不确定,所以线程的名字就成为了唯一的分辨标记,则在定义线程名称时一定要在线程启动之前设置名字,尽量不要重名,且尽量不要为已经启动动的线程修改名字。 由于线程状态的不…

Routing

假如有一个请求:localhost/home/index,那么路由需要做的事情如下: (1)确定Controller (2)确定Action (3)确定其他参数 (4)根据识别出来的数据&…

2022-2028年中国锂电材料产业投资分析及前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国锂电材料行业市场行业相关概述、中国锂电材料行业市场行业运行环境、分析了中国锂电材料行…

专为物联网开发的开源操作系统Contiki(转)

专为物联网开发的开源操作系统Contiki(转) (2012-04-19 15:31:09)原文网址:http://blog.sina.com.cn/s/blog_6de000c201010z7n.htmlContiki 是一个小型的,开源的,极易移植的多任务电脑操作系统。它专门设计以适用于一系列的内存首先的网络…

【转】ASP.NET Page事件的执行顺序

Page 执行中将按照如下顺序激活事件:Page.PreInitPage.InitPage.InitComplitePage.PreLoadPage.LoadPage.LoadCompletePage.PreRenderPage.PreRenderComplete如果页面从令一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩…

blender动画全面学习教程

大小解压后:31.8G 时长28小时 包含项目文件 1920X1080 MP4 语言:英语中英文字幕(根据原英文字幕机译更准确) Gumroad——活着!Blender中的动画课程 云桥网络 平台获取课程! 信息: Alive!是迄今…

Java学习总结:28

线程的同步和死锁 在程序开发中,所有程序都是通过主方法执行的,而主方法本身就属于一个主线程,所以通过主方法创建的新的线程对象都是子线程。 利用子线程可以进行异步的操作处理,这样可以在不影响主线程运行的前提下进行其他操作…

BZOJ1202: [HNOI2005]狡猾的商人

Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i1,2,3...n-1,n), 。当 Ai大于0时表示这个月盈利Ai 元,当 Ai小于0时表…

导出swagger2生成的文档

百度了好多篇用法,没法用。特此记录一下 一、下载项目 下载https://github.com/Swagger2Markup/spring-swagger2markup-demo下的项目,保存,注意文件路径不要有中文。我们称这个项目为A项目。 没错这个项目就是专门根据json解析生成文档的。…

把三千行代码重构为15行

2019独角兽企业重金招聘Python工程师标准>>> 如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论。如果你认为能够戳中您的G点,那么请随手点个赞。 把三千行代码重构为15行 那年我刚毕业&#…

一起学WPF系列(2):第一个WPF应用程序

概述 Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序。使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序。一直以来,我对界面的东西是不怎么感兴趣的&am…