高校经费开支标准由:InfoQ: 对Entity Framework应用二级缓存

来源:百度文库 编辑:九乡新闻网 时间:2024/05/09 08:38:10

对Entity Framework应用二级缓存

作者 Roopesh Shenoy译者 高翌翔发布于2011年9月7日

领域
语言 & 开发,
架构 & 设计
主题
数据访问,
.NET框架,
集群与缓存
标签
AppFabric,
Memcached
分享|

二级缓存(Second Level Caching)是个Entity Framework中尚不能开箱即用的功能。在一篇MSDN文章“用Entity Framework和AppFabric实现二级缓存”中,Julie Lerman展示了如何通过在Entity Framework中利用像Microsoft AppFabric等缓存服务来实现二级缓存。

我们为什么需要二级缓存?

EF的最大好处之一是其拥有根据在上下文中找到的状态信息自动生成数据库持久化命令(插入、更新和删除)的能力。但是如果那些状态信息不可用,那么当调用SaveChanges命令时EF就会无所事事。

二级缓存有助于解决此类问题。这些缓存位于事务之外——常常是应用程序之外——因此可用于任何上下文实例。

Julie扩展了由Jarek Kowalski设计的EF Caching Provider类,从而使得此类可与Windows Server AppFabric协同工作。她修改了适配器类,以便此类可以调用AppFabric的客户端API,她还扩展ObjectContext类。你可以从她的文章中下载代码示例从而学到更多知识。

通过缓存常用查询数据从而避免频繁命中数据库,缓存二级缓存同样有助于提高高事务性应用程序(highlytransactional applications)的性能。对于需要与像EntityFramework等ORM框架一起使用的缓存解决方案而言,Microsoft AppFabric并非唯一的选择——在对代码进行适当地修改后,例如memcached等其他框架同样可用于相同的目的。

ADO.NET Entity Framework是一款来自微软的对象-关系映射器。最近发布的EF 4.1具有一些有趣的功能,例如Validation(验证)、Spatial data(空间数据)、Enums(枚举)及更多功能。

查看英文原文:Second Level Caching with Entity Framework

译者 高翌翔基于.NET平台进行Web应用程序设计、开发,关注敏捷开发和架构设计,及各种提高代码可维护性的最佳实践。

相关厂商内容

Nodejs, 脱离了浏览器的Javascript

《MySQL数据库开发的三十六条军规》

使用Chef和Cucumber进行行为(测试)驱动基础设施开发

相关赞助商

QCon全球企业开发大会(杭州站),报名启动10月10日前9折优惠!。