azure - Azure 函数中的 StackExchange.Redis 问题(ResetNonConnected)

标签 azure redis azure-functions stackexchange.redis

我有一个由逻辑应用调用的 Azure 函数,该函数的目标是读取 Azure Redis 缓存以查找特定键。 我使用 StackExchange.Redis 库来读取和写入 Redis 缓存。

该函数可以并行调用,因为可以同时执行多个逻辑应用实例。 我在读取 Redis 缓存的内容时有时(但并非很少)出现“ResetNonConnected”错误,当我开始遇到此问题时,我需要停止并启动 Function App 以使该功能再次运行。

我的函数代码非常简单:我读取了一个键 (StringGet),如果它存在,我将它与我作为函数输入接收到的值进行比较。如果接收到的值大于缓存中已经存在的值,或者如果键不在缓存中,则更新缓存中的值(StringSet 然后 KeyExpire)。

在高负载情况下不会发生错误,我将我的逻辑应用程序的实例数限制为 10 个并行,我有这个错误。

此库在 Azure 函数中是否存在任何已知问题?在 Azure 函数中使用 Redis 缓存的替代方法是什么,以确保它可以正常工作?

最佳答案

我不会帮你解决 Redis 错误,但是

What is the alternative to using a Redis Cache in an Azure function so to be sure that it will work just fine?

对于读键/写键操作,典型的方法是使用 Azure 表存储。它具有类似的基于 key 的 API,但它还在 Azure Functions 中以 Table Storage Binding 的形式提供 native 支持.最有可能的是,您不必编写任何自定义代码来读取/写入值,而是直接使用绑定(bind)参数完成所有操作。

表存储上的键查找可线性扩展至任何负载,并且几乎不需要任何成本。

关于azure - Azure 函数中的 StackExchange.Redis 问题(ResetNonConnected),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48951983/

相关文章:

.net - Azure服务总线队列订阅筛选器更改

C# Azure 上传文件到 "File Storage Service"- 不是 Blob 存储

python - Celery:Redis 作为代理离开任务元键

Redis哨兵故障转移,选择特定的master

azure - 在本地运行 Azure 函数(V2)时抛出 Newtonsoft.Json.JsonReaderException

c# - Azure Functions 如何将应用程序设置添加到绑定(bind)

azure - 单 Azure 函数多定时器触发

Azure Bing Web 搜索因查询搜索失败

Azure 虚拟网络 : unable to delete

asp.net - CaliEventHandlerDelegateProxy 泄漏