[英]ServiceStack.Redis Unable to connect to Digitalocean managed redis instance
最近我開始將作業處理器從 Node.js 轉換為 .net core,並選擇使用 ServiceStack.Redis 來管理與 Redis 的連接。
令人討厭的是,如果不拋出異常,我無法讓它連接到托管的 Redis。 關於這個錯誤甚至意味着什么的任何線索?
var redisManager = new BasicRedisClientManager(0,Environment.GetEnvironmentVariable("REDIS"));
var redis = redisManager.GetClient();
Unhandled exception. ServiceStack.Redis.RedisResponseException: unknown command `ROLE`, with args beginning with:
at ServiceStack.Redis.RedisNativeClient.ReadComplexResponse() in C:\BuildAgent\work\b2a0bfe2b1c9a118\src\ServiceStack.Redis\RedisNativeClient_Utils.cs:line 1075
at ServiceStack.Redis.RedisNativeClient.SendReceive[T](Byte[][] cmdWithBinaryArgs, Func`1 fn, Action`1 completePipelineFn, Boolean sendWithoutRead) in C:\BuildAgent\work\b2a0bfe2b1c9a1
18\src\ServiceStack.Redis\RedisNativeClient_Utils.cs:line 616
at ServiceStack.Redis.RedisNativeClient.SendExpectComplexResponse(Byte[][] cmdWithBinaryArgs) in C:\BuildAgent\work\b2a0bfe2b1c9a118\src\ServiceStack.Redis\RedisNativeClient_Utils.cs:l
ine 744
at ServiceStack.Redis.RedisNativeClient.Role() in C:\BuildAgent\work\b2a0bfe2b1c9a118\src\ServiceStack.Redis\RedisNativeClient.cs:line 846
at ServiceStack.Redis.RedisClient.GetServerRole() in C:\BuildAgent\work\b2a0bfe2b1c9a118\src\ServiceStack.Redis\RedisClient.cs:line 1065
at ServiceStack.Redis.RedisResolver.CreateRedisClient(RedisEndpoint config, Boolean master) in C:\BuildAgent\work\b2a0bfe2b1c9a118\src\ServiceStack.Redis\RedisResolver.cs:line 84
at ServiceStack.Redis.RedisResolver.CreateMasterClient(Int32 desiredIndex) in C:\BuildAgent\work\b2a0bfe2b1c9a118\src\ServiceStack.Redis\RedisResolver.cs:line 148
at ServiceStack.Redis.BasicRedisClientManager.GetClient() in C:\BuildAgent\work\b2a0bfe2b1c9a118\src\ServiceStack.Redis\BasicRedisClientManager.cs:line 104
其他任何人都會遇到這種情況,特別是如果您使用來自 DigitalOcean 的 Managed REDIS。
本質上 ROLE 命令(可能還有其他命令)不可用,所以在這個庫中你必須設置以下標志。
RedisConfig.VerifyMasterConnections = false;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.