WCF缓存解决方案 - 需要建议

时间:2010-03-12 02:07:05

标签: c# .net wcf caching

我工作的公司正在寻求实施缓存解决方案。我们托管了几个WCF Web服务,我们需要缓存某些值,这些值可以持久化和提取,而不管客户端与服务的会话如何。我正在研究以下技术:

  • 缓存应用程序块4.1

  • 使用HttpRuntime缓存的WCF TCP服务

  • Memcached Win32和Client

  • Microsoft AppFabric缓存Beta 2

我们的测试服务器是带有IIS6的Windows Server 2003,但我们的生产服务器是Windows Server 2008,因此上述任何选项都可以使用(除了我们的测试服务器上的AppFabric缓存)。

有没有人对这些经历有任何经验?此缓存解决方案不会用于存储大量数据,但需要经常快速地获取。

提前致谢。

2 个答案:

答案 0 :(得分:3)

我们在我们的应用程序中使用内置的HttpRuntime缓存,并且它运行良好。

由于您的服务器上无需安装任何内容,因此很容易安装到位。此外,转向AppFabric缓存不应该在以后这么大。

尽管如此,它还带来了一些限制,特别是如果您的服务不是托管在同一个IIS应用程序中,因为缓存对象将被复制到每个应用程序中。如果您不打算缓存大量数据和/或如果您不打算长时间缓存它们,那么您应该没问题,因为您最终不会消耗太多RAM。

您似乎没有负载均衡的服务器,但在这种情况下,使用HttpRuntime缓存还意味着复制每台服务器上的缓存。这是您可以使用memcached或AppFabric缓存来阻止的事情......

答案 1 :(得分:0)

如果您对缓存策略没有特殊要求,可以为需要缓存的服务创建RESTful接口使用“GET”方法,然后让浏览器处理缓存。