c# - StackExchange.Redis:没有可用于服务此操作的连接。HOST:PORT/Interactive 上的 UnableToConnect
问题描述
我正在尝试从 C# 连接 REDIS 数据库(GCP-memorystore-Redis)。在为 Redis 设置值时,我遇到了如下异常:
没有可用于服务此操作的连接。UnableToConnect on 10.0.0.2 : 6379 / Interactive , Initializing, last: NONE, origin: BeginConnectAsync, 未完成: 0, last-read: 10s ago, last-write: 10s ago, unanswered-write: 115s ago, keep-alive: 180s ,状态:正在连接,管理器:10 个可用,10 个可用,最后一次心跳:从不,全局:0 秒前,v:2.0.519.65453;IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=1,Free=32766,Min=1,Max=32767), Local-CPU: n/a
我正在使用StackExchange.Redis版本:2.0.519
代码:
IDatabase redisDB;
try {
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect($"{host}:{port},resolvedns=1,abortConnect=False,keepAlive=180,connectTimeout=10000");
redisDB = redis.GetDatabase();
if(redisDB==null)
{
**//Getting Error**
var messageId = redisDB.StreamAdd("event_stream", "foo_name", "bar_value");
//redisDB.StringSet("RedisKey", "RedisValue");
}
}
(或)我也试图通过使用下面的代码来设置值。(遇到同样的问题)
redisDB.StringSet("RedisKey", "RedisValue");
你能帮忙吗?
解决方案
ConnectionMultiplexer 连接字符串中的变量“主机”似乎不正确。查看您的异常“IPAddress:6379/Interactive 上的 UnableToConnect”。所以你的变量“端口”是正确的,它的值是 6379。也许你的“主机”变量到字符串的转换是错误的。所以你有变量类型(IPAddress)而不是实际值。
推荐阅读
- php - 无法在 prestashop Context::getContext()->cookie 中找到 cookie 值,但它显示在 $_COOKIE 中?
- progressive-web-apps - Pwa venia 主题产品页面滑块不起作用
- java - kotlin:检查一个类是否是对象类?
- android - 将我的屏幕内容远程显示到其他设备
- swift - 按下 tableviewCell 中的按钮并执行另一个控制器
- php - 通过 Internet 与我的远程朋友共享系统
- java - 在选项卡式窗格中添加标题
- firebase - 如何从 Angular 项目中的 firebase firestore 中的集合中获取一个简单的字符串
- javascript - 如何使用angularjs内联过滤器比较json数组中键的完整值
- python - 我在 Python 中的二进制搜索功能不起作用