繁体   English   中英

无法使用 stackexchange.redis 连接到 Redis 集群

[英]unable to connect to Redis cluster using stackexchange.redis

我找到了一个非常简单的代码块来测试我是否能够连接到 ElastiCache 上的 Redis 集群

这是代码:

using StackExchange.Redis;

Console.WriteLine("Hello, World!");
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("xxxxx.xxxxx.ng.0001.euw2.cache.amazonaws.com:6379,connectTimeout=30000,responseTimeout=30000,ssl=true,sslProtocols=tls12");

IDatabase db = redis.GetDatabase();
string value = "abcdefg";
db.StringSet("mykey", value);

string value1 = db.StringGet("mykey");
Console.WriteLine(value1);  

这是我得到的错误:

StackExchange.Redis.RedisConnectionException HResult=0x80131500 Message=无法连接到 redis 服务器。 现在连接出错。 要允许此多路复用器继续重试直到它能够连接,请在连接字符串中使用 abortConnect=false 或 AbortOnConnectFail=false; 在你的代码中。 Source=StackExchange.Redis StackTrace:在 StackExchange.Redis.ConnectionMultiplexer.ConnectImpl(ConfigurationOptions 配置,TextWriter 日志,Nullable`1 serverType,EndPointCollection 端点)在 StackExchange.Redis.ConnectionMultiplexer.Connect(ConfigurationOptions 配置)在 Program.Writer 日志

$(String[] args) in C:\Users\tracy\source\repos\stackexchangeRedis.test\stackexchangeRedis.test\Program.cs:第5行

所以我添加了“ abortConnect=false ”,现在这是新的错误:

StackExchange.Redis.RedisTimeoutException HResult=0x80131505 Message=Timeout performing SET (5000ms), inst: 0, qu: 0, qs: 0, aw: False, bw: CheckingForTimeout, rs: NotStarted, ws: 空闲, in: 0, serverEndpoint : XXXXX.XXXX.ng.0001.euw2.cache.amazonaws.com:6379, mc: 1/1/0, mgr: 10 of 10 available, clientName: TRACY(SE.Redis-v2.6.66.47313), IOCP :(忙碌=0,空闲=1000,最小=8,最大=1000),工人:(忙碌=0,空闲=32767,最小=8,最大=32767),池:(线程=9,队列项=0, CompletedItems=37), v: 2.6.66.47313(请查看这篇文章了解一些可能导致超时的常见客户端问题: https://stackexchange.github.io/StackExchange.Redis/Timeouts )Source=StackExchange。 Redis StackTrace:在 StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](消息消息,ResultProcessor`1 处理器,ServerEndPoint 服务器,T defaultValue)在程序中。

$(String[] args) in C:\Users\XXXX\source\repos\stackexchangeRedis.test\stackexchangeRedis.test\Program.cs:第10行

有用的信息:

点网版本:6.0

StackExchange.Redis 版本:2.6.66

我在我的本地机器上使用 visual studio 2022。

Redis 集群配置:弹性缓存配置

从您发送的图片来看,传输中的加密似乎已禁用,但您发送的代码有ssl=true 您必须在更改客户端代码以不使用 TLS 时重新创建启用 TLS 的集群。

①如果本文未解决您的问题,请点击查看与本文相关的问题
②如果本文未解决您的问题,请向程序员专用AI小助手提问
暂无
暂无

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

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