1
18
以下是我在缓存主题中考虑的项目: MimcLink Win32 速度 .NET缓存 企业库缓存应用程序块 memcached win32(内存缓存Win32): 直到最近我才使用memcached win32。这类似于Web场(许多服务器为高可用性提供相同的内容),但它是一个缓存场。这意味着,如果您没有足够的资源,可以在Web服务器上本地安装它。然后,当您沿着这条路走下去时,您可以水平(更多服务器)或垂直(更多硬件)缩放。这是一个从原始memcached移植到Windows上的产品。该产品已广泛应用于交通流量非常大的站点。 http://lineofthought.com/tools/memcached 速度: 这是微软对memcached等产品的回应。Memcached已经退出一段时间了,Velocity处于CTP模式。我必须说,根据我迄今为止所读到的内容,这款产品一旦上市,肯定会让我大吃一惊。但我不能让自己在一个零记录的CTP产品上运行大型生产项目。我已经开始玩它了,尽管一旦它获得了动力,Memcached甚至无法与那些锁定在Windows世界中的人相比! http://blogs.msdn.com/velocity/ .NET缓存: 没有理由对标准.NET缓存进行折扣。它是内置的,可以免费使用,不需要(主要)设置。它通过提供在本地内存、单状态服务器或集中数据库中存储项目的机制来提供灵活性。当您需要一个以上的状态服务器(内存中的缓存)并且不想使用一个较慢的数据库来保存您的缓存时,可以使用Velocity。 企业应用程序块: 我远离所有的企业应用程序块。它们是比我通常需要的更多的重型框架!只要你记得包装所有接触到的代码不是你自己的,并遵循简单的编码规则,坚持其他任何方法超过这一个!(当然只有我的观点——MySpace尽可能多地利用企业应用程序块之外的资源!) 你不必预先选择! 我通常会创建一个缓存包装器,在代码中与之通信,以获取、设置、存在、移除、列表键等方法。然后,这会指向一个底层缓存抽象层,该抽象层可以指向memcached、velocity或.NET缓存。我使用structuremap(或选择另一个IOC容器)来注入要用于给定环境的缓存形式。在本地dev框中,我可能会在会话中使用.NET缓存。在生产中,我通常使用memcached win 32。但是不管它是如何设置的,你都可以很容易地交换东西来尝试每个系统,看看什么对你最有效。您只需要确保您的应用程序尽可能少地了解缓存的方式!一旦这个抽象层就位,您就可以做一些事情,比如对进入和离开缓存的所有数据运行压缩算法(gzip),这将允许您在缓存中存储10倍的数据量。- 透明地 . 如果您感兴趣的话,我会在我的书中介绍.NET缓存、memcached win32、structuremap和适当的抽象。 ASP.NET 3.5社交网络( http://www.amazon.com/ASP-NET-3-5-Social-Networking-Enterprise-ready/dp/1847194788/ref=sr_1_1?ie=UTF8&s=books&qid=1225408005&sr=8-1 ) Andrew Siemer www.andrew siemer.com博客.andrew siemer.com www.socialnetworkingin.net 更新 已更改使用memcached列出网站的链接。谢谢你,大卫注意到它坏了! |
2
3
请记住,Entlib文档专门指导您使用ASP.NET应用程序的ASP.NET缓存。这可能是在这里使用它的最有力的建议。另外,entlib缓存没有依赖项,这对我来说是不使用它的一个重要原因。
我认为作为你应用程序的一部分,Shipping System.Web没有技术限制,尽管他们把通知放在.NET 3.5页面上有点奇怪。汉塞尔曼实际上说,他开始被这个想法吓坏了,但后来被说服了。另外,如果您阅读注释,他说块中有太多的移动部件,而且ASP.NET缓存更轻。
我会说使用web.caching,看看你是怎么上的。如果您在它的顶部放置了某种抽象层,那么以后如果发现问题,您总是可以选择将它换成entlib块。 |
3
2
看一看 memcached . 它是一个非常酷、快速、轻量级的分布式缓存系统。有几种最流行的语言的API,包括C。它在客户机端可能不能很好地工作(当然,除非客户机从某种类型的服务器获取缓存数据),但是如果您将memcached的使用抽象到特定的接口,那么您就可以实现与另一个缓存系统的接口。 |
4
-2
@ Davide Vosti “如果他们把它放在Web名称空间中,我认为这是一个很好的理由。” 这个逻辑同样适用于Robotic Studio中的并发和协调运行时(CCR)吗?不?我不这么认为。 |
msoft · 串行端口。GetPortNames()返回错误的端口名 9 年前 |
QuangND · 查找准确位置,然后插入或添加,然后排序?哪个更好? 10 年前 |
Kidades · 如何将一个文本文件的内容复制到另一个缩短长度的文本文件? 11 年前 |
Kidades · 如何在Win XP中使应用程序静音? 11 年前 |
Sunkas · 在.net 2.0中从后台调用UI线程上的方法 11 年前 |
linquize · 委托BeginInvoke是否需要清理? 12 年前 |