Caching 已启用设置azure localcache的影响

Caching 已启用设置azure localcache的影响,caching,azure,azure-web-roles,Caching,Azure,Azure Web Roles,当前正在使用Windows Azure缓存 要启用本地缓存,我设置如下 <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="10" /> 根据msdn-当启用本地缓存时,缓存客户端在本地存储对对象的引用。这将使对象在客户端应用程序的内存中保持活动状态 我的项目在2个web角色实例上运行。这是否意味着,一旦我设置了这一行,它就会使用Web角色的RAM作为本地缓存,当它找不到

当前正在使用Windows Azure缓存

要启用本地缓存,我设置如下

<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="10" />

根据msdn-当启用本地缓存时,缓存客户端在本地存储对对象的引用。这将使对象在客户端应用程序的内存中保持活动状态

我的项目在2个web角色实例上运行。这是否意味着,一旦我设置了这一行,它就会使用Web角色的RAM作为本地缓存,当它找不到该对象时,就会转到Windows Azure缓存?我不希望web角色的RAM因此而陷入困境,因为我看不到为localCache指定大小的方法。如有任何建议,将不胜感激

我的完整缓存配置如下所示

<dataCacheClients>
<dataCacheClient name="default">
  <autoDiscover isEnabled="true" identifier="windowsAzure.mycacheurl.com" />
  <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="10" />
  <securityProperties mode="Message" sslEnabled="false">
    <messageSecurity authorizationInfo="xxxjdkj" />
  </securityProperties>
</dataCacheClient>


你是对的。如果启用了本地缓存,web角色将使用本地RAM来保存缓存对象的“副本”。另一件需要注意的事情是,因为它是一个副本,所以即使在主分布式缓存中,它也可能变得过时和不同步

目前,使用本地缓存的唯一原因是为了减少延迟,只有在每秒有数百个事务产生重要影响的情况下才会发生这种情况。您可以自己测试这个性能,您将看到一个微不足道的差异

我已将多个大型系统部署到Azure…两点:

  • 目前使用专用角色的缓存系统已经足够好了。如果你把它放在同一个云服务中,延迟很小,性能也很好。(这比微软不推荐的第一个版本的缓存要好得多)
  • 如果您想要最快的缓存,预览中会有一个新的分布式缓存(从2013年11月7日起)。它有一个超低的延迟:读/写速度为1ms-1.2ms……它非常快,本地缓存优势不存在。它处于预览模式,但所有缓存层都应视为易失性。即使没有SLA/也可能更频繁地下降…您的系统可以围绕它进行架构

感谢您的澄清。我正在预览中使用新缓存。似乎还有一个我可以扩展到的高级版本。所以我假设我可以安全地删除localcache,直到我们获得更多的流量。我绝对会按照你的想法去做。始终监控您的缓存,通过云,我们可以根据需要轻松地放大或缩小缓存。