Redis キャッシュに対して毎秒約 5000 のリクエストを行うシステムがあります。このようなシナリオで ServicStack.Redis クライアントを使用するためのベスト プラクティスを探しています。
ほとんどの呼び出しは、次のように型指定されたクライアントを使用する HashSet 用です。
RedisClient redisInstance = new RedisClient();
var redisTypedClient = redisInstance.As < CustomObject > ();
var data = redisTypedClient.GetValueFromHash(redisTypedClient.GetHash("hset:SetId"), recordId);
最初は「redisInstance」を静的オブジェクトとして使用していましたが、いくつかのリクエストでは問題なく動作しましたが、リクエストの数が増えると、次の例外がスローされ始めました: ServiceStack.Redis.RedisResponseException: Unexpected reply
「redisInstance」をローカル オブジェクトに変更したところ、問題なく動作するようになりました。
それを正しい方法で使用したかどうかについて、私たちはまだ少し困惑しています。私の質問は次のとおりです。PooledRedisClientManager はこれよりも優れたアプローチですか? 他のアプローチはありますか?
各ユーザーに対して非常に頻繁にクエリを実行する、約 10 または 15 の異なる型付きの redis ハッシュ セットがあります。
良いアドバイスを探しています。