2015-04-24 2 views
0

Я получаю ошибку таймаута при попытке запустить этот код:Azure Redis Cache - HashSet Timeout Ошибка

 List<HashEntry> entries = new List<HashEntry>();    

     for (i = 0; i < 10000; i++) 
     { 
      var extension = new Extension 
      { 
       Name = RandomString(30), 
       LastName = RandomString(30), 
       Number = random.Next(), 

      }; 
      entries.Add(new HashEntry(extension.Name, JsonConvert.SerializeObject(extension)));     

     } 

     cache.HashSet("extensions", entries.ToArray()); 

Это исключение происходит на последней строке:

необработанное исключение типа «System .TimeoutException 'произошел в StackExchange.Redis.dll

Дополнительная информация: Тайм-аут, выполняющий расширения HMSET, inst: 0, mgr: Неактивно, очередь: 2, qu = 1, qs = 1, qc = 0, wr = 1/1, in = 0/0

+0

Это сообщение блога может помочь вам разобраться, что пойдет не так: http://azure.microsoft.com/blog/2015/02/10/investigating-timeout-exceptions-in-stackexchange-redis-for- azure-redis-cache/ Убедитесь, что значение SyncTimeout имеет смысл для вашего сценария. Я попробовал свой код с моей локальной машины в redis cache в лазурном режиме, и для этого размера HashSet потребовалось в среднем 500 мс в оба конца. Если бы я работал с клиентом в том же регионе в Azure, я ожидал бы, что время уменьшится совсем немного. – JonCole

+0

Привет, @ JonCole это помогло мне. Благодарю. –

ответ

0

Решение заключалось в том, чтобы добавить параметр synctimeout в конфигурацию соединения.

Смежные вопросы