首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在.net 3.5/ 4.0专用缓存服务中实现缓存?

如何在.net 3.5/ 4.0专用缓存服务中实现缓存?
EN

Stack Overflow用户
提问于 2010-10-14 08:39:07
回答 2查看 791关注 0票数 3

我需要开发专门的缓存服务( WCf服务或.Net远程服务或其他实现)来缓存数据库( Server 2005)中的数据( .net3.5延迟度量应用程序的监视数据),这些数据随后可以被2-3个windows服务( .net 3.5 WCF服务)使用,这样它们就不需要重复调用DB了。因此,在这些服务和DB之间基本上是一个附加的服务层,以减少调用DB的性能损失--数据库中的数据很大而且非常动态(我们希望缓存的事件在白天连续插入DB中)。每个消费窗口服务都依赖于另一个窗口服务(一个服务从Db中的一个表中检索数据,并将数据放大,然后将另一个表放入DB中,然后由另一个服务使用)。我们有以下要求:

  1. 可以有推送或拉模型,用于将数据推送或检索到DB和Services。
  2. 缓存必须减少增量对DB和加载数据的总体影响,而不是完全重新加载数据。
  3. 如果DB中的源数据已经更改,则必须更新缓存数据。必须定义Sql缓存过期策略。
  4. 应该有异步方法调用从DB和缓存更新中检索数据,以尽量减少等待时间。
  5. 高速缓存必须支持对单个DB的并行请求。
  6. CPU和内存利用率应保持在最佳水平,这样才不会对其他服务产生负面影响。

我们没有集群或分布式环境,也不打算成为非常高可伸缩性的解决方案。

我想知道基于几种可用的技术来实现这个目标的最佳方法是什么,以避免它变得过于复杂:

  1. .Net框架缓存
  2. 一致性缓存
  3. 速度
  4. WCF基于Rest的服务

任何建议和指导都将是非常宝贵的。

你好,KK

EN

回答 2

Stack Overflow用户

发布于 2010-10-14 09:01:39

这听起来很优雅,但优雅并不一定是件好事。让我担心的不是缓存的使用,而是试图解决数据库之外的固有数据库问题--不是每一家公司都是Microsoft/Oracle/.并且有足够的人力来建立一个出色的数据库。我相信您对数据库的安全性有问题,缓存已经被提出作为解决方案。但是它不是一个纯缓存,它需要处理数据一致性和对数据的更改以及简单的读取,并且您正在尝试处理经常变化的数据,因此不是缓存的好候选。海事组织,这是灾难的召唤。必须在另一个数据库前面实现所有数据库功能,这是不对的。

简化数据库和去噪。如果您仍然需要缓存,只需在项目中引用ASP.NET缓存,就可以在ASP.NET之外使用它;它有一个丰富的API,可以满足您所需的几乎所有需求。

票数 2
EN

Stack Overflow用户

发布于 2010-10-14 08:45:12

如果应用服务器运行在Windows 2008上,则可以使用AppFrabric进行缓存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3931444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档