问题标签 [azure-caching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
231 浏览

azure - 我如何知道我是否为会话状态正确配置了 Azure 缓存

我可以检查显示其自定义的 Session 对象,但我看不到 Azure(管理门户)上的缓存大小增加。我怎样才能确定我的会话信息是否被存储。如果我错过拼写缓存的 url,它会给我一个错误。除此之外,还有什么方法可以明确检查是否已将某些内容添加到缓存中?

0 投票
1 回答
611 浏览

azure - Windows azure 缓存 - 检查密钥是否存在的最佳实践

在 Windows Azure 缓存 ( http://msdn.microsoft.com/en-us/library/windowsazure/hh914161.aspx ) 中,当有人试图获取未缓存的对象(即对象的键不存在)。

除了处理 DataCacheException,有没有办法检查密钥是否正常存在?

谢谢,

0 投票
3 回答
934 浏览

c# - 添加 Windows Azure 缓存会使 Visual Studio 2012 崩溃,并出现 datacachefactory 参数空异常

我已将 Windows Azure Cache 1.8.0 nuget 包添加到我的解决方案中,但在我加载项目时它最终导致 Visual Studio 崩溃。我发现我可以通过从 bin 文件夹中删除 dll 来“防止”崩溃,然后在项目加载时 Visual Studio 将它们添加回 bin 时再次这样做。

我要删除的 dll 是:

当我查看 Visual Studio 崩溃的事件查看器时,我得到以下信息:

我不确定为什么 VS 在项目加载时使用 dll 做事,但我承认我不是这方面的专家。

我基本上按照此页面上描述的过程为缓存添加了一个专用的缓存工作者角色:http: //www.windowsazure.com/en-us/develop/net/how-to-guides/cache/

我尝试删除并重新安装软件包,删除并重新安装 Visual Studio SDK(2012 年 10 月),但问题又回来了。

另外,我没有安装 App Fabric Server。

在此先感谢您的帮助!

0 投票
1 回答
57 浏览

azure - 在 co-located 缓存中,如何确定 key 的位置?

这是一个关于缓存组件的设计问题,我可以看到两种方法来确定数据在哪里:

  • 每个角色实例维护一个包含整个键集的表,跟踪保存数据的相应实例。
  • 数据的位置由密钥的哈希码决定。

在第一种情况下,这意味着保留一组合理的密钥很重要。在第二种情况下,测试密钥的存在会产生网络往返......

0 投票
0 回答
225 浏览

azure - 有没有办法在 Azure 缓存到期时运行自定义代码?(可以访问最后一个缓存的值)

我的意思是一种在某些缓存值到期时调用的事件或回调。假设这个回调应该被赋予当前缓存的值,例如,将它存储在缓存之外的其他地方。

为了找到这种方法,我查看了通知选项,但它们看起来适用于具有缓存的显式操作,例如添加或删除,而过期是一种隐式发生的事情。我发现在缓存值过期并变为 后的许多分钟内,这些回调都没有被调用null,而如果我DataCache.Remove显式调用,则在轮询间隔内正常调用(错误,请参见下面的更新)。

我发现这种行为很奇怪,因为 ASP.Net 有这样的回调。您甚至可以在 SO 上找到如何使用它的说明。

另外,我尝试了 DataCache Events。它是在 MSDN 中写的,字面意思是

此 API 支持 .NET Framework 基础结构,不打算直接从您的代码中使用。

尽管如此,我为这些事件创建了一个处理程序,看看我是否可以像测试它的参数一样CacheOperationStartedEventArgs.OperationType == CacheOperationType.ClearCache,但它似乎是徒劳的。

此刻,我开始思考缺少所需回调的问题的解决方法。因此,也欢迎提出如何实施它们的建议。

更新。经过更细心和耐心的测试,我发现通知DataCacheOperations.ReplaceItem是在到期后发送的。遗憾的是,我没有找到获取过期前缓存的值的方法。

0 投票
2 回答
619 浏览

azure - 使用哪个专用缓存配置?

一个大型电子商务网站正在寻求将其会话缓存从共享缓存切换到专用缓存。

它通常运行在中型服务器(5-6 台)上……在繁忙时间,它运行在 20 台中型服务器上。在非常繁忙的时期,每秒向站点发送 2000 多个请求并非不合理

同位缓存在这里是否足够好,还是必须缓存在专用工作角色中?

此外,是否必须为会话数据启用高可用性?该站点依靠会话数据来提供良好的用户体验。但是缓存被持久化到 Azure blob 存储,所以我不确定我是否完全获得了高可用性选项

0 投票
0 回答
153 浏览

azure - DataCacheFactoryConfiguration 仅使用本地内存?

无论如何配置 DataCache 提供程序以仅依赖本地内存进行缓存?

出于性能原因,我的一些开发人员在测试他们的 Azure 东西时不使用 Azure 模拟器,而是直接调试 Web 应用程序。

我们根本没有使用 web.configs 来驱动缓存配置,如果能够将设置注入到我们的自定义配置实用程序中,在这样的模式下,DataCache 不会尝试使用 Shared 或专用 Azure 缓存,但只是 PC 上的本地内存。(InProc - HttpRunTime.Cache)

0 投票
0 回答
148 浏览

caching - 仅在使用虚拟网络时专用工作缓存角色卡在忙碌状态

我有一个包含专用缓存辅助角色的 Azure 服务。

当将 NetworkConfiguration 部分添加到指定我们的虚拟网络的 cscfg 文件时,缓存角色不会启动并卡在“忙碌”状态。我无法从缓存角色(通过 Intellitrace 或 azure 诊断日志)访问任何信息,因为看起来角色本身从未启动。

删除 NetworkConfiguration 部分后,缓存角色开始正常。

有没有人遇到过类似的问题或有解决此问题的任何提示?

用于缓存角色的存储帐户位于连接到虚拟网络的关联组上。

我们使用的网络配置在这里:

任何帮助,将不胜感激。谢谢。

0 投票
2 回答
2238 浏览

azure - 调试时的 Windows Azure 缓存 - 请求超时

我在使用带有模拟器的 Windows Azure 缓存时遇到问题(即,在本地,而不是云上)。

我的系统配置是:

  • 视窗 8
  • Visual Studio 2012 更新 1
  • Azure SDK 和模拟器 1.8
  • Windows Azure 缓存 1.8.1
  • 网络 API
  • .NET 4.5

问题是:我们的服务器使用(角色)Windows Azure 缓存进行会话管理等。一旦服务器收到来自客户端的请求,它就开始与 Windows Azure 缓存通信以放置/获取一些对象(例如,会话对象)。然后发生“超时”异常 (Microsoft.ApplicationServer.Caching.DataCacheException) 并且服务器变得无响应,在 Visual Studio 的输出日志中显示以下消息。

当这种情况开始发生时,服务器刚刚关闭(即,正在运行,但没有响应)。

知道为什么会这样吗?它与Windows 8有关吗?

谢谢,

0 投票
1 回答
868 浏览

caching - Azure 共存缓存实例是内部的吗?

调查 Azure 缓存我遇到了这篇文章,其中指出

当指定同位角色缓存时,缓存大小由虚拟机内存的指定百分比确定。指定专用角色缓存时,虚拟机的所有可用内存都用于缓存。如果配置了两个角色实例,则使用虚拟机的组合内存。

但是,同位缓存实例是特定的(只能由运行它的实例访问、读写)还是特定于角色的(可以由角色中的任何实例访问、读写)?

我找不到一个明确的答案......我确实发现如果你想让两个或多个角色访问同一个缓存,这个“缓存”本身必须是一个专用角色......

编辑 1
示例场景:使用同位缓存的单个角色的 3 个实例(i1、i2 和 i3),每个实例都有 100mb 缓存。如果 i1 写入缓存,那么 i2 可以读取它吗?i3 可以更改缓存的信息吗?