StatckExchange RedisServerException: ключ перемещен из конечной точки - PullRequest
0 голосов
/ 23 ноября 2018

Я получил исключение при выполнении пакета HashGetAsync


        var redisBatch = redisDb.CreateBatch();
        //track task return, long (the task id), string, the result key, int:0, kline 1,metadata
        var taskTrack = new List>();</p>

<pre><code>        var hashsetRedisKey = RedisKeyBuilder.GetKeyForKLineHashSet(redisResult.hashCode.ToString(), redisResult.klineType);
        var klineTask = redisBatch.HashGetAsync(hashsetRedisKey, redisResult.klineTime.ToString());
        tasks.Add(klineTask);
        taskTrack.Add(Tuple.Create<long, TBKLineRedisQueryTaskResult, int>(klineTask.Id, redisResult, 0));
        var hashsetMetadataRedisKey = RedisKeyBuilder.GetKeyForKLineMetadataHashSet(code.Item1.ToString(), code.Item2);
        var metadataTask = redisBatch.HashGetAsync(hashsetMetadataRedisKey, redisResult.klineTime.ToString());
        tasks.Add(metadataTask);
        taskTrack.Add(Tuple.Create<long, TBKLineRedisQueryTaskResult, int>(metadataTask.Id, redisResult, 1));


    };
    redisBatch.Execute();
    await Task.WhenAll(tasks);

Затем я получил исключение, как показано ниже.

StackExchange.Redis.RedisServerException: ключ перенесен из конечной точки 172.31.31.87:6379 и hashslot 9097, ноУказан CommandFlags.NoRedirect - перенаправление не выполняется для HGET KLineMetadata_K15min_3934036393829150277_HashSet.IOCP: (Занято = 1, Свободно = 999, Мин. = 8, Макс. = 1000), РАБОЧИЙ: (Занято = 2, Свободно = 32765, Мин. = 8, Макс. = 32767), Локальный ЦП: н / д в системе.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача-задача) в System.Runtime.CompilerServices.TaskAwaiter`1.()

Я попробовал это в модульном тесте (если я поставил только несколько ключей, чтобы получить).Но в моей работе, для которой у меня будут сотни (а не тысячи) ключей для получения, это создаст для меня исключение такого рода.

Мой проект - .Net Core, и я использую SE.Redis 2.0.513.

enter image description here

...