有没有人尝试过针对 Azure AppFabric 缓存使用 NHibernate Velocity L2 缓存提供程序?如果有,你发现了什么?
附带说明一下,我们使用 SQL Azure 来存储我们的数据。
有没有人尝试过针对 Azure AppFabric 缓存使用 NHibernate Velocity L2 缓存提供程序?如果有,你发现了什么?
附带说明一下,我们使用 SQL Azure 来存储我们的数据。
最新版本“Windows Azure 缓存(预览版)”应该对您有所帮助 - http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/9a2dbd9f-1b9d-4249-a48b-216d9dfdc2bc
您可以支持通知、改进延迟、更大的灵活性和仅基于您配置的 VM 的计算成本的定价。
我们的缓存用例如下:
不幸的是,Azure AppFabric 缓存的当前状态不适合我们的需求。原因如下:
在调整 NHibernate Velocity 提供程序之后,我们能够在分布式缓存中缓存对象,但是在访问每个实体时会有一个小的延迟(~1 秒)。因为我们试图访问每个 Web 请求的数百个缓存对象,所以每个 HTTP 请求实际上比我们直接访问数据库要慢——当然不是我们想要的。
我们尝试通过启用 AppFabric 本地缓存来解决此问题。性能得到了极大的改善,但这又引发了另一个问题。一旦对象存储在本地缓存中,它将一直保留在那里直到过期(您可以为缓存设置过期时间跨度)。在这一点上,AppFabric 本地缓存和 NHibernate SysCache 提供程序(使用 ASP.NET 缓存)之间没有太大区别,只是您必须为 AppFabric 缓存支付额外费用。
如果 Azure AppFabric 本地缓存支持通知(如其Windows Server AppFabric 表亲),我们会很乐意使用 Azure 缓存。请在 www.mygreatwindowsazureidea.com 投票支持此功能。
作为参考,一位同事在 Azure 论坛上发布了一个关于使用 AppFabric 本地缓存的问题。
如果有人发现 MS 在 Azure 上启用了本地缓存通知,请发布我原来问题的答案。