问题标签 [azure-redis-cache]

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 回答
124 浏览

azure - 来自最近边缘服务器的 Azure 存储和缓存

我的应用程序需要加快内容交付(基本上是大文件)。我计划使用 Data Lakes 存储结构来存储我的文件,并且在从 Data Lake 文件下载文件时应该缓存它,以便下次出现相同的请求时,它会从缓存中获取它。

这是应该如何完成的步骤

  1. 用户从美国请求文件 请求根据地理位置路由到最近的边缘服务器。
  2. 如果文件缓存在边缘,则从边缘提供服务,否则从数据湖存储中获取并将其缓存在边缘。
  3. 然后其他用户(如印度用户)可能会请求相同的文件,并且应该被重定向到最近的边缘。

请帮助我找出在 Azure 中缓存大文件并根据位置进行检索的最佳方式,从而减少延迟。

0 投票
1 回答
1893 浏览

azure - 将 Azure Redis 缓存与 Node.js 一起使用(用于 Hubot 的大脑)?

我正在尝试使用 Azure Redis 缓存作为我的 Hubot 大脑的存储。

我已按照此处的说明配置 Redis 大脑。我也尝试过 SSL 和未加密的连接,因为我在这里读到Redis Node 客户端不支持 SSL。

我还在hubot-redis-brainfrom 0.8.4to中更新了 Redis 客户端2.6.2,但我的 Hubot 仍然无法连接到 Redis。

这是 Azure 中端口配置的屏幕截图:

在此处输入图像描述

这是我的 Hubot 启动时的输出:

对此的任何帮助将不胜感激。

更新

这是我用来连接未加密的代码:

这对于加密连接:

0 投票
1 回答
212 浏览

azure - Azure Redis 缓存:“角色发现数据不可用”

我正在尝试从本地开发机器连接到Azure Redis 缓存的实例。我像这样使用StackExchange.Redis

lazyConnection被调用时,我收到一条InvalidOperationException消息:

“角色发现数据不可用”

和这个单行堆栈跟踪:

Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.get_CurrentRoleInstance()

为什么抛出异常,我该如何避免它?

0 投票
1 回答
166 浏览

azure - SailsJS 在 Azure 上的部署不稳定

我在 SailsJS 上使用 Redis 进行会话管理。我在 Azure 上经常遇到两个问题:

  1. 用户配置挂钩加载时间过长。我经常收到这个错误。
  2. Redis 连接不断下降。我正在使用 node_redis 连接到 azure redis,以下是我的 redis 配置:

    redisConfig:{主机:'XXXXXX.redis.cache.windows.net',端口:6380,ttl:1000 * 60 * 60 * 24 * 30,db:2,tls:{servername:'XXXXX.redis.cache.windows .net'}, retry_unfulfilled_commands: true, enable_offline_queue: true, auth_pass: '', retry_strategy: function (options) { if (options.error && options.error.code === 'ECONNREFUSED') { // 结束重新连接特定错误并刷新所有带有单个错误的命令 return new Error('The server denied the connection'); } if (options.total_retry_time > 1000 * 60 * 5) { // 在特定超时后结束重新连接并刷新所有带有单个错误的命令 return new Error('Retry time exhausted'); } if (options.times_connected > 20) { // 以内置错误结束重新连接 return new Error(' 重试次数超过 10'); } // 返回后重新连接 Math.max(options.attempt * 300, 5000); } }

很多时候我无法访问这个 Redis,但我仍然没有收到应用程序提示的任何错误。

0 投票
3 回答
7838 浏览

azure - Azure:用于 Web 缓存的 Redis 与表存储

我们目前使用 Redis 作为我们 Web 应用程序的持久缓存,但由于内存和成本有限,我开始考虑表存储是否是一个可行的选择。

我们存储的数据是相当基本的 json 数据,具有明确的 2 部分键,我们将其用于表存储中的分区和行键,所以我希望这意味着快速查询。

我很欣赏一个在内存中,一个在内存中,所以表存储会慢一点,但随着我们的扩展,我相信只有一个 CPU 提供来自 Redis 缓存的数据,而使用表存储我们不会有这个问题减少到我们正在运行的 Web 服务器的数量。

有没有人有任何以这种方式使用表存储的经验或两者之间的比较。

我应该补充一点,我们以非常简约的方式使用 Redis 获取/设置,仅此而已,我们驱逐我们自己的数据,如果空间不足,则将驱逐留给 Redis。

0 投票
3 回答
1196 浏览

redis - 使用 flushdb 的 Redis 键空间通知

键空间通知对于我最近开发的一个 web api 来说是必不可少的。

我们在 azure 中设置了 redis。该 api 主要工作,我们使用通知来确定内存缓存上的数据是否需要更新。

现在,如果 redis 数据库被刷新,我们要处理通知刷新事件以清除本地内存缓存。但是我们无法通过 Keyspace 通知获取 flushdb 事件。 并且键空间事件启用为“AKE”。“AKE”字符串表示所有事件。

PS:我们可以通过 '__keyevent@2__:set' 之类的 'set' 事件获得通知

订阅代码如下所示。

0 投票
0 回答
250 浏览

redis - Azure Redis - 多个成员低性能

我试图通过按键同时获得多个集合。我正在使用 Azure Redis 的基本层,以及最新的 Stackexchange.Redis (1.1.608)

这是我的代码:

对于约 120 个键(其中大多数不存在),完成管道需要约 10 秒。我究竟做错了什么?

我也尝试过 SetScan,但我永远无法让它不超时。另外,我不确定是否要按顺序执行 120 SetScan。

谢谢,

编辑:每组只有约 20 名成员。我昨天尝试了一些不同的方法:

批处理:大约需要 5 秒

Set Union:大约需要 1~2 秒。(我做 redis.SetUnion(键列表))

现在我正在使用 Set Union,因为它花费的时间最短。但是,我仍然认为 2 秒比检索 120 组所需的时间要长得多。有人知道吗?我愿意接受建议。

0 投票
1 回答
340 浏览

azure-redis-cache - Azure Redis 缓存,缓存读取峰值大约每小时

我已经运行 azure redis 缓存大约 6 个月了,没有问题。上周我开始在其中一个客户端连接上出现超时,所以我进入 Azure 门户查看发生了什么。我立刻看到 redis 缓存顾问告诉我,我的 C0 标准定价计划的网络带宽限制已接近 5Mbits/秒。所以,我去看了图表,发现大约每小时都有一个巨大的缓存读取峰值,从我正常的 188 kB/s 到 1.2 MB/s?我已经检查了我所有的客户,但我没有任何每小时运行的作业会导致这种情况?Azure 基础设施是否有可能这样做?有任何想法吗?

0 投票
2 回答
423 浏览

azure - 我的外部应用程序可以访问 Azure 上的 Redis 缓存吗

简单的问题。我可以将 Azure Redis 缓存用于未托管在 Azure 上的外部 Web 应用程序吗?

0 投票
1 回答
133 浏览

azure - Azure Redis 在未使用时显示活动连接

我刚刚在 Azure 上创建了一个专用(非共享)Redis 实例,它已经表明存在活动连接和操作。我什至没有机会自己连接到它,所以我知道我没有任何活跃的连接。我只启用了 SSL。

尤其是总命令总计为 15.39k - 这怎么可能?

“命中和未命中”和“获取和设置”为 0。

我在 Azure 中包含了监视窗口的屏幕截图:

指标截图:命令总数、连接数和内存使用量