【发布时间】:2017-06-17 22:24:19
【问题描述】:
我创建了一个在 .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");
}
}
}
如果我将 Connect 字符串更改为 "localhost,abortConnect=false",则会收到以下错误消息:
没有可用于服务此操作的连接:SET \u0005\0\0\0; localhost:6379/Subscription 上的 SocketFailure,来源:错误,输入缓冲区:0,未完成:0,最后读取:1 秒前,最后写入:1 秒前,未应答写入:27780 秒前,保持活动:60 秒,待定: 0, state: Connecting, last-heartbeat: never, last-mbeat: -1s ago, global: 20s ago
我按照Basics guide 开始使用这个库,但我不断收到上述错误。
我是否缺少某些代码或配置?
【问题讨论】:
-
这两种情况的错误意味着客户端无法连接到你的redis服务器。您的 redis 服务器在本地主机上运行在哪个端口上?您是否配置了密码?可以连接 redis-cli 吗?
标签: c# .net stackexchange.redis