Я реализовал сервер Redis (который будет использоваться в качестве кэша данных) для веб-приложения (ASP.NET).
Одна из целей разработки - обеспечить нормальное функционирование веб-приложения в случае сбоя сервера Redis.
В настоящее время это работает, однако очень очень медленно .
ниже - фрагмент кода из класса, который имеет дело с Redis:
public string GetCachedData(string k)
{
string res = string.Empty;
if (ConfigurationManager.AppSettings.GetValues("UseMemcache")[0].ToString() == "False")
{
return res;
}
try
{
using (RedisClient rs = new RedisClient(ConfigurationManager.AppSettings.GetValues("RedisServerIP")[0].ToString()))
{
byte[] buf = rs.Get(k);
if (buf != null)
{
res = System.Text.ASCIIEncoding.UTF8.GetString(buf);
}
}
}
catch (Exception)
{
res = "";
}
return res;
}
Вопрос:
На линии
(RedisClient rs = new RedisClient)
Здесь приложение будет блокироваться на длительное время, прежде чем выдать исключение.
Как это можно сделать так, чтобы он сразу бросал?