StackExchange.Redis:没有可用的连接来执行此操作:SET

3
我创建了一个运行在.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; localhost: 6379 / Subscription上的SocketFailure,来源:Error,输入缓冲区:0,未完成:0,最后一次阅读:1s前,最后一次写入:1s前,未答复的写入:27780s前,保持活动状态:60s,待处理项:0,状态:正在连接,最后的心跳:从不,最后的mbeat:-1s前,全局:20s前 我遵循了基础指南来开始使用这个库,但我一直收到以上错误。
难道我缺少一些代码或配置吗?

在这两种情况下错误意味着客户端无法连接到你的 Redis 服务器。你的本地 Redis 服务器运行在哪个端口上?你是否配置了密码?你能用 redis-cli 连接吗? - MichaC
2个回答

0

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

brew install redis
brew services start redis

并使用以下命令启动服务器

redis-server

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接