WCF缓存解决方案 – 需要建议
我工作的公司正在寻求实施缓存解决方案。 我们托管了几个WCF Web服务,我们需要缓存某些值,这些值可以持久化和提取,而不管客户端与服务的会话如何。 我正在研究以下技术:
-
缓存应用程序块4.1
-
使用HttpRuntime缓存的WCF TCP服务
-
Memcached Win32和客户端
-
Microsoft AppFabric缓存Beta 2
我们的测试服务器是带有IIS6的Windows Server 2003,但我们的生产服务器是Windows Server 2008,因此上述任何选项都可以使用(除了我们的测试服务器上的AppFabric缓存)。
有没有人对这些经历有任何经验? 此缓存解决方案不会用于存储大量数据,但需要经常快速地获取。
提前致谢。
我们在我们的应用程序中使用内置的HttpRuntime缓存,它运行良好。
它很容易安装到位,因为您的服务器上无需安装任何内容。 此外,迁移到AppFabric缓存不应该在以后这么大。
也就是说,它还带来了一些限制,特别是如果您的服务不在同一个IIS应用程序中托管,因为缓存的对象将被复制到每个应用程序中。 如果您不打算缓存大量数据和/或如果您不打算长时间缓存它们,那么您应该没问题,因为您最终不会消耗太多RAM。
您似乎没有负载平衡的服务器,但在这种情况下,使用HttpRuntime缓存还意味着复制每台服务器上的缓存。 这是使用memcached或AppFabric缓存可以防止的事情……
如果您对缓存策略没有特殊要求,则可以为需要缓存的服务创建RESTful接口使用“GET”方法,然后让浏览器处理缓存。