c# - StackExchange.Redis:没有连接可用于服务此操作:SET

标签 c# .net stackexchange.redis

我创建了一个在 .NET Core 1.1 上运行的控制台应用程序,我正在引用 StackExchange.Redis NuGet 包,版本 1.2.3

运行下面的代码时,出现以下错误:

无法连接到 redis 服务器;要创建断开连接的多路复用器,请禁用 AbortOnConnectFail。 PING 上的 SocketFailure

using StackExchange.Redis;
using System;

namespace RedisConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
            IDatabase db = redis.GetDatabase();
            db.StringSet(BitConverter.GetBytes(5), "asdf");
        }
    }
}

如果我将连接字符串更改为 "localhost,abortConnect=false",则会收到此错误消息:

没有连接可用于此操作:SET\u0005\0\0\0;本地主机上的 SocketFailure:6379/订阅,来源:错误,输入缓冲区:0,未完成:0,最后读取:1 秒前,最后写入:1 秒前,未答复写入:27780 秒前,保持事件:60 秒,待定: 0, state: Connecting, last-heartbeat: never, last-mbeat: -1s ago, global: 20s ago

我关注了 Basics guide开始使用这个库,但我不断收到上述错误。

我是否缺少某些代码或配置?

最佳答案

听起来您可能只设置了 StackExchange.Redis 客户端,您是否安装并启动了本地 Redis 服务器?如果没有,请使用 HomeBrew 在您的机器上下载并安装 Redis

brew install redis
brew services start redis

并启动服务器

redis-server

关于c# - StackExchange.Redis:没有连接可用于服务此操作:SET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44609939/

相关文章:

.net - 如何使用 StackExchange.Redis 禁用证书验证?

.NET XmlSerializer : How to replace name of the xml tag?

c# - C# 中不允许检查特殊字符

c# - 如何将类实例转换为 JsonDocument?

c# - 删除按钮 wpf 上的蓝色突出显示

c# - 如何提取位于圆括号(圆括号)之间的文本?

c# - IsUserInRole 调用 GetRolesForUser?

azure - 应用服务交换槽期间出现多个 Redis 连接异常(无可用连接)

redis - Stackexchange.Redis为什么ConnectionMultiplexer.Connect建立两个客户端连接?

c# - Microsoft.ApplicationInsights 缺失