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