繁体   English   中英

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

[英]StackExchange.Redis: No connection is available to service this operation: SET

我创建了一个在 .NET Core 1.1 上运行的控制台应用程序,我正在引用 StackExchange.Redis NuGet package,版本 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 \0\0\0; 本地主机上的 SocketFailure:6379/订阅,来源:错误,输入缓冲区:0,未完成:0,最后读取:1 秒前,最后写入:1 秒前,未答复写入:27780 秒前,保持活动:60 秒,待定: 0, state: Connecting, last-heartbeat: never, last-mbeat: -1s ago, global: 20s ago

我按照基础指南开始使用这个库,但我不断收到上述错误。

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

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

brew install redis
brew services start redis

然后启动服务器

redis-server

尝试在连接字符串下添加ssl=True,abortConnect=False,sslprotocols=tls12

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM