Webアプリケーション(ASP.NET)用のRedisサーバー(データキャッシュとして使用する)を実装しました。接続前にRedis接続を検出する
設計目標の1つは、Redisサーバーが停止した場合にWebアプリケーションが正常に機能するようにすることです。
現在のところ、これは動作しますが、非常に遅いです。以下
の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)
アプリケーションがためにブロックする場所です例外をスローする前に長い時間。
これはすぐにスローされるように、どうすればできますか?
Redisはこのタイプの機能を提供していますか?それはほぼ4年間続いています。 – GaTechThomas