[REDIS] 얼마나 자주 Booksleeve 연결 / 폐해야합니까?
REDIS얼마나 자주 Booksleeve 연결 / 폐해야합니까?
나는 C의 # / ASP.NET 4 응용 프로그램에서 Booksleeve 라이브러리를 사용하고 있습니다. 현재 RedisConnection 객체 내 MonoLink 클래스에서 정적 개체입니다. 나는이 연결 개방을 유지해야 하는가, 또는 (내가 지금하고 있어요로) 나는 각 쿼리 / 트랜잭션 (transaction) 후 폐쇄 / 개방해야 하는가? 그냥 약간의 혼동. 지금 현재로, 그것을 사용하고 있는데 어떻게 여기입니다 :
public static MonoLink CreateMonolink(string URL)
{
redis.Open();
var transaction = redis.CreateTransaction();
string Key = null;
try
{
var IncrementTask = transaction.Strings.Increment(0, "nextmonolink");
if (!IncrementTask.Wait(5000))
{
transaction.Discard();
throw new System.TimeoutException("Monolink index increment timed out.");
}
// Increment complete
Key = string.Format("monolink:{0}", IncrementTask.Result);
var AddLinkTask = transaction.Strings.Set(0, Key, URL);
if (!AddLinkTask.Wait(5000))
{
transaction.Discard();
throw new System.TimeoutException("Add monolink creation timed out.");
}
// Run the transaction
var ExecTransaction = transaction.Execute();
if (!ExecTransaction.Wait(5000))
{
throw new System.TimeoutException("Add monolink transaction timed out.");
}
}
catch (Exception ex)
{
transaction.Discard();
throw ex;
}
finally
{
redis.Close(false);
}
// Link has been added to redis
MonoLink ml = new MonoLink();
ml.Key = Key;
ml.URL = URL;
return ml;
}
감사합니다, 사전에 어떤 응답 / 통찰력. 또한,이 라이브러리에 대한 공식 문서의 어떤 종류가 있습니까? 매우 고맙습니다. ^ _ ^.
해결법
-
==============================
1.Booksleeve의 저자에 따르면,
Booksleeve의 저자에 따르면,
-
==============================
2.새 연결을 쿼리 / 트랜잭션을 만들고 싶어 때마다 열리고 레디 스를 동시에 연결된 클라이언트의 높은 수준을 위해 설계되어 있지만 그 수는 수만의 주위에있는 경우, 성능 문제가있을 수 있습니다 경우 약간의 오버 헤드가 아마 있습니다. 지금까지 내가 (레디 스 자체가이 기능이 없기 때문에) booksleeve이 물건을 지원하는지 확인해야하므로 연결 풀링, 클라이언트 라이브러리에 의해 수행되어야한다 알고있다. 그렇지 않으면 연결을 열 때 응용 프로그램을 시작하고 (경우에 당신이 어떤 이유로 레디 스에 연결된 클라이언트를 평행 필요하지 않음) 그것의 수명을 위해 열 유지해야합니다.
새 연결을 쿼리 / 트랜잭션을 만들고 싶어 때마다 열리고 레디 스를 동시에 연결된 클라이언트의 높은 수준을 위해 설계되어 있지만 그 수는 수만의 주위에있는 경우, 성능 문제가있을 수 있습니다 경우 약간의 오버 헤드가 아마 있습니다. 지금까지 내가 (레디 스 자체가이 기능이 없기 때문에) booksleeve이 물건을 지원하는지 확인해야하므로 연결 풀링, 클라이언트 라이브러리에 의해 수행되어야한다 알고있다. 그렇지 않으면 연결을 열 때 응용 프로그램을 시작하고 (경우에 당신이 어떤 이유로 레디 스에 연결된 클라이언트를 평행 필요하지 않음) 그것의 수명을 위해 열 유지해야합니다.
내가 그것을 사용하는 방법에 대한 찾을 수 있었던 유일한 문서는 테스트가 그것의 소스 코드에서 폴더이었다.
-
==============================
3.참고로 (bzlm의 대답 @ 계속), 난 항상 BookSleeve를 사용하여 동일한 레디 스 연결을 제공하는 싱글 생성 (이 닫혀의 경우는 만들어지는 것입니다. 그 밖에, 기존의 연결이 제공되고있다).
참고로 (bzlm의 대답 @ 계속), 난 항상 BookSleeve를 사용하여 동일한 레디 스 연결을 제공하는 싱글 생성 (이 닫혀의 경우는 만들어지는 것입니다. 그 밖에, 기존의 연결이 제공되고있다).
이것 좀 봐 : https://stackoverflow.com/a/8777999/290343
당신은 그런 식으로 소비 :
RedisConnection connection = Redis.RedisConnectionGateway.Current.GetConnection();
from https://stackoverflow.com/questions/7543751/how-often-should-i-open-close-my-booksleeve-connection by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 윈도우 7 64 비트 XAMPP에 phpredis (0) | 2020.01.16 |
---|---|
[REDIS] sidekiq가 레디 스 서버에 연결되어 있는지 확인하는 방법? (0) | 2020.01.15 |
[REDIS] 여러 레디 스 인스턴스 (0) | 2020.01.15 |
[REDIS] 펍 / 하위에 ZeroMQ 대 레디 스 클러스터, 수평 확장 분산 시스템 (0) | 2020.01.15 |
[REDIS] 첫째 지속적으로 EVICT 이전 데이터로 레디 스 구성 (0) | 2020.01.15 |