私のクラスで私のredisclientにservicestackを使用しています。 私は、次のようにクライアントRedisの1を持っている:Servicestack RedisClientが処分された後に接続されています
public class MySuperClass{
....
RedisClient client = new RedisClient("localhost", 6379);
public int MySuperProperty{get; set:}
....
}
そして次は、私がそれを使用した後に、それが適切に配置されていることを確認するためにそれを使用する方法である:
private void GetInfoFromRedis(object sender, EventArgs e) {
using (client) {
client.Set<Human>("RedisKey", new Human {
Age = 29,
Height = 170,
Name = "HumanName"
});
}
}
私の質問は、私の後にありますdispose client
別の接続要求をclient
に設定して再送信を要求すると、クライアントはredisデータベースへの接続を正常に終了しますが、今回は接続がCLIENT LISTにとどまります。
ServiceStackプロジェクトのリードからの回答は素晴らしいです!あなたの迅速な答えをありがとう!私はすでにRedisclientsをプールするために私のプロジェクトでPooledRedisClientManagerを使用しています。私は、私が説明したように使い方が不思議でした。私の使った方法のように使うのは悪い習慣と考えられますか?私は既に処分されたクライアントを再利用することができますか?唯一推奨されるのは、クライアントへのプールされたアクセスです。事前に感謝し、あなたの時間に感謝 –
あなたはそれを処分した後に同じインスタンスを再利用しているからです。あなたはそれをプールから取り出し、完了後にそれを返す必要があります。あなたがそれを処分した後に再利用しようとしないでください。 – mythz