问题标签 [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.
azure - 间歇性 Azure 模拟器错误:无法加载文件或程序集“XX”文件名或扩展名太长。
使用 Visual Studio 2012 Premium SP1 11.051106.01 和 Emulator 版本 1.8,我收到以下关于每 3-5 次页面刷新的错误。然后我必须停止调试并重新部署到模拟器。
我至少有 5 名开发人员在 Azure 上工作,他们在将 Web 角色部署到 Azure 模拟器时都遇到了同样的问题。我怀疑它与缓存有关,但我不确定从哪里开始寻找。
我检查了我所有的文件路径长度,没有任何路径和文件名超过 220 个字符。Win 7 最多有 260 个字符,所以我不确定还有什么要检查的。
无法加载文件或程序集“Kernel32”或其依赖项之一。文件名或扩展名太长。
无法加载文件或程序集“System.ServiceModel.Web.dll”或其依赖项之一。文件名或扩展名太长。
azure - Windows Azure 中专用缓存的初始加载
我为专用缓存设置了一个工作角色。在应用程序启动时,我想从数据库加载缓存(最好在 WorkerRole/RoleEntryPoint 的 OnStart() 方法中)。我无法找到如何从专用缓存项目中将对象添加到缓存中(我可以毫无问题地使用其他角色的缓存)。
有谁知道是否最好像其他项目一样创建一个新的 DataCache() 对象,或者是否有更快的内部方法?最终我可能要加载大量数据,所以我希望它尽可能快(也希望最小化跨角色的带宽)。有人对 Azure 中缓存的初始加载有任何提示或最佳实践吗?我一直在寻找一段时间,并没有想出任何东西。
谢谢!
azure - Azure DataCache Windows Azure 模拟器出现问题,但未生成错误。应用程序只是挂起
我有一个现有的 mvc4 Web 项目,我想将其部署到云服务并开始使用 azure 数据缓存。
我已将 windows azure 缓存 nuget 包添加到解决方案中的两个项目中,即 web 项目和类库项目,这两个项目都需要这些。
然后,我为 Web 项目添加了一个 Web 角色,并更新了 中的数据缓存标识符引用web.config
以指向启用共存缓存的 Web 角色。
当我没有任何数据缓存代码时,我可以在模拟器上本地运行它而不会出现任何问题。但是我输入代码以访问数据缓存的那一刻就是我遇到问题的时候。只是这段代码导致 web 项目挂起:
没有我知道的错误,无论是在 vs 输出中还是从 Web 应用程序生成的错误中,它只是挂起。
开始诊断此问题所在的最佳方法是什么?
更新
我刚刚注意到应用程序事件日志中生成了以下错误:
这是否有助于追踪正在发生的事情?
另一条可能有帮助的信息是,如果我创建一个全新的解决方案,添加一个 Web 角色并启用同位缓存,我可以让它正常工作——它只是看起来特定于这个解决方案。
azure - 表存储服务(Azure 的 nosql 实现)与 Windows Azure 缓存(非结构化内存缓存)
我们想在 Azure 中实现缓存有两个主要原因:
- 加快重复数据访问
- 减轻数据库压力
以下是我们计划缓存的数据的特征:
- 相对较小(1 - 100 kb)
- 针对每个客户
- 不是私人的,但我们真的不希望随机的人浏览我们的整个缓存
- XML 或 JSON
- 由 C# 使用(即不直接在 html 中链接)
- 大多数星期数据不会改变,尽管有些日子数据可能会改变几次
对于这个特定目的,表存储似乎比 Blob 存储更好(我们只是为图像、CSS 和 JavaScript 实现了 Blob 存储)并且Windows Azure 缓存似乎比 Windows Azure 共享缓存更好(也许几乎总是更好,并且共享缓存主要是遗留的此时的功能)。
两者的编程 API 看起来很简单。与我们为云站点支付的费用相比,每个站点的成本似乎可以忽略不计。
到目前为止,由于我们认为 Azure 缓存的优缺点,我们倾向于表存储。作为老 .Net 人,我们对内存缓存比 NoSql 风格的解决方案更熟悉:
Windows Azure 缓存的问题:
- 如果将 VM 移动到不同的服务器(由 Microsoft 出于负载平衡或其他原因),内存中的缓存是否会原封不动地移动?
- 我们猜测,每当我们将更改发布到云时,它都会清除现有的内存缓存
- 虽然用户在进行更改时很少对缓存数据进行更改,但他们可能会在几秒钟内进行多次更新,我们不确定这将如何处理位于运行 Web 角色的多个节点的缓存,尤其是在流量增加的情况下. (这可能也是表存储的一个问题!)
- 表存储看起来更容易调试
Windows Azure 缓存的优势
- 快一些
azure - 连接到新的 Azure 缓存(DataCache、DataCacheFactory 和连接池)
Windows Azure缓存文档说
如果可能,存储和重用相同的 DataCacheFactory 对象以节省内存并优化性能。”
有没有人看到任何指标或任何量化这有多昂贵?
“MaxConnectionsToServer 设置...确定每个 DataCacheFactory 向缓存集群打开的通道数。”
因此,如果 MaxConnectionsToServer = 1 并且 DataCacheFactory 是您的应用程序中的单例,那么您已经有效地将所有请求同步到您的 Web 服务器!
但是,有很多迹象 表明 DataCacheFactory 应该是一个单例(即放在 Application_OnStart 中)。
这很关键,我不敢相信它不在 Microsoft 文档中。DataCacheFactory 在 AppFabric、Azure 共享缓存和 Azure 缓存中的处理方式是否相同?我只是很难相信微软以需要单例工厂对象的方式设计缓存。这就像要求任何使用 SqlConnection 的人在他们的应用程序中拥有一个单例 SqlConnectionFactory 对象。
因此,考虑一个相对平均的 Web 应用程序(例如,每小时 1,000 次请求,缓存中约 100 个对象,平均请求访问 5 个缓存对象):
- 默认情况下(和推荐)一次应该有多少个工厂对象?
- 创建 DataCacheFactory 引用需要多长时间?
- 创建 DataCache 引用需要多长时间?
- 每个应用程序应该只有 1 个 DataCacheFactory 对象,每个请求只有 1 个 DataCache 引用吗?
编辑(正在进行的答案):
(1/2)。让 Azure 连接池处理工厂对象
(3)。还在测试...
(4)。仍在试图弄清楚我是否应该重新使用 DataCache 引用
asp.net - 会话状态的 Azure Co-Located-Cache 最大项目大小
我不明白 Co 位于 Azure 共享缓存(预览版)中项目的最大序列化大小为 8mb。我目前正在使用 Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider 将我的会话状态存储在缓存中。
我的问题是会话(所有会话键/值)是否被序列化为一个项目,或者每个键本身不能超过 8MB?
因此,如果我有 10 个密钥,每个密钥具有 1 mb 的数据,它是否超过了 8MB 的限制?
我知道您不应该在会话中存储那些大对象(而且我 99% 的时间都不会)它只是想知道一些边缘情况在我的应用程序中会如何表现。
azure - 使用 Azure 缓存调试 Web 应用程序
我想找到调试现有 ASP.NET MVC 应用程序的最佳实践。这是已托管在 Azure 中的 Web 角色。该应用程序正在使用 Windows Azure 缓存。配置文件已使用 Azure 帐户的 settgins 定义 ->
我想调试代码。在这种情况下最好的方法是什么?
我已经通过使用 localhost 更改主机进行了测试,但它不起作用。
谢谢,
PS:我已经安装了新的SDK 1.8
azure - 在 Windows Azure 共享缓存中,无法在美国东部或美国西部地区启动缓存 - 为什么?
尝试开始使用 Windows Azure 共享缓存来存储会话数据。Microsoft 和其他地方的大量帮助文件表明缓存应该与网站位于同一地理区域。(在这一点上,我不使用虚拟机或云服务,只在 Azure 上共享网站)。
问题是,当我按照指示进入旧版门户时,为了创建新缓存,界面将只允许我选择“美国(北部/中部)”和“美国(南部/中部)” “美国(东部)”和“美国(西部)”选项可用,但如果选择,我无法在那里请求缓存。但是我所有的其他 Azure 服务都在美国(东部)。
我想我可以在与我的网站所在的区域不同的区域设置缓存,但这似乎是不明智的。我考虑将我的网站从“美国东部”移动到“美国中北部”,但网站的区域可用性只有“美国东部”和“美国西部”,这两个选项对缓存不可用!
建议?
请注意,我的公司目前还没有准备好使用云服务/虚拟机和基于角色的缓存。
c# - 在 Azure 缓存中存储大于 8MB 的对象的技术
是否有人对如何在 Azure 缓存中存储大于 8MB 的对象有任何建议。在我的情况下,我使用 byte[] 将文件存储在 blob 中。但是,如果我能以某种方式将 byte[] 拆分为更小的块并将其存储为部分文件,然后在从缓存中检索文件后执行合并。
伪代码:
存储
检索:
这里有任何性能问题吗?
是否有任何其他方式胜过 Azure 缓存?
asp.net - Azure 并置缓存会话状态(实例失败/更新)
当通过 DistributedCacheSessionStateStoreProvider 用于会话状态时,Azure 同位缓存如何处理实例更新(滚动/增量)或其中一个实例出现故障的情况。
是所有位于同一位置的缓存数据都复制到了所有实例,还是因为故障而丢失了一些数据?
例如,如果请求 #1 由实例 0 处理,然后实例 0 崩溃/更新可以请求由实例 1 处理的请求 #2 继续访问来自先前请求的相同会话状态数据?
任何想法或有人可以指出我描述此类案例的任何好的资源吗?