Я использую функцию Azure V1 с StackExchange.Redis 1.2.6
.Функция получения 1000 сообщений в минуту, Для каждого сообщения, Для каждого устройства я проверяю Redis.Я заметил, что когда в это время у нас появляется больше сообщений, мы получаем ошибку ниже.
Исключительная ситуация при выполнении функции: TSFEventRoutingFunction Нет соединения для обслуживания этой операции: HGET GEO_DYNAMIC_hash;Не удалось подключиться к серверу (-ам) redis;ConnectTimeout;IOCP: (Занято = 1, Свободно = 999, Мин. = 24, Макс. = 1000), РАБОЧИЙ: (Занято = 47, Свободно = 32720, Мин. = 24, Макс. = 32767), Local-CPU: н / д Не быловозможно подключение к серверу (-ам) redis;ConnectTimeout
CacheService в соответствии с рекомендациями MS
public class CacheService : ICacheService
{
private readonly IDatabase cache;
private static readonly string connectionString = ConfigurationManager.AppSettings["RedisConnection"];
public CacheService()
{
this.cache = Connection.GetDatabase();
}
private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
{
return ConnectionMultiplexer.Connect(connectionString);
});
public static ConnectionMultiplexer Connection
{
get
{
return lazyConnection.Value;
}
}
public async Task<string> GetAsync(string hashKey, string ruleKey)
{
return await this.cache.HashGetAsync(hashKey, ruleKey);
}
}
Я ввожу ICacheService
в функцию Azure и вызываю GetAsync
Метод при каждом запросе.
Использование экземпляра Azure Redis C3
В настоящее время вы видите, что у меня есть одно соединение, Создание нескольких соединений поможет решитьЭта проблема?или Любое другое предложение, чтобы решить / понять эту проблему.