[REDIS] 레디 스는 단일 스레드입니다. 그럼 왜 상추를 사용해야합니까?
REDIS레디 스는 단일 스레드입니다. 그럼 왜 상추를 사용해야합니까?
레디 스 4.0 후 레디 스는 (1. 삭제가, 배경에 등을 객체) 멀티 스레드 몇 가지 기능을 실행할 수 있지만, 레디 스 여전히 일반적으로 단일 스레드를 사용합니다. FAQ - 레디 스
내가 추측 그래서 상추는 쓸모가 없다. 상추는 한 연결에서 여러 스레드를 사용할 수 있습니다 레디 스 클라이언트이지만, 레디 스 1 개 연결 만 단일 스레드를 사용할 수 있습니다.
당신은 레디 스 클라이언트에 상추를 사용하는 것이 추천 할 수 있습니까? 왜?
해결법
-
==============================
1.당신이 시간을 보내고 있기 때문에 레디 스 명령을 실행뿐만 아니라, (결과를 잡, 명령을 보내는) 데이터를 전송뿐만 아니라있다. 전송할 동안 단일 스레드 모드에서, 레디 스 작동하지 않습니다. 레디 스 작동하는 동안, 더 전송 occures 없습니다. 다중 연결이나 하나 개의 파이프 라인 연결은 모두 대역폭과 CPU 사이클을 포화 도움이 여기에 있습니다.
당신이 시간을 보내고 있기 때문에 레디 스 명령을 실행뿐만 아니라, (결과를 잡, 명령을 보내는) 데이터를 전송뿐만 아니라있다. 전송할 동안 단일 스레드 모드에서, 레디 스 작동하지 않습니다. 레디 스 작동하는 동안, 더 전송 occures 없습니다. 다중 연결이나 하나 개의 파이프 라인 연결은 모두 대역폭과 CPU 사이클을 포화 도움이 여기에 있습니다.
그리고 luttece은 속도에 대해이 아니다. 그것은 또한 당신이 비동기 및 반응 API와 코드가 잘 구성 할 수 있습니다.
돌아 가기 성능 주제, 여기 스레딩 및 영향을 풀링의 일반적인 이해를 얻을 수있는 간단한 벤치 마크입니다. 참고 풀링 조금 느린 동안 (당신이 풀 작업에 시간을 보내고) 것을, 그것은 (에러가 다른 스레드에 영향을주지 않도록)과 MULTI 및 차단 명령을 사용하여 분리 작업을 할 수 있습니다.
여기 내 결과가 (로컬 시스템은 코어 (4), 원격 시스템 CPU 느린 2 배 관한 있음) :
Benchmark (address) Mode Cnt Score Error Units LettuceThreads.pooled socket thrpt 25 35389.995 ± 1325.198 ops/s LettuceThreads.pooled localhost thrpt 25 32075.870 ± 416.220 ops/s LettuceThreads.pooled remote thrpt 25 3883.193 ± 67.622 ops/s LettuceThreads.shared socket thrpt 25 39419.772 ± 1966.023 ops/s LettuceThreads.shared localhost thrpt 25 34293.245 ± 1737.349 ops/s LettuceThreads.shared remote thrpt 25 3919.251 ± 49.897 ops/s
Benchmark (address) Mode Cnt Score Error Units LettuceThreads.pooled socket thrpt 25 56938.187 ± 2727.772 ops/s LettuceThreads.pooled localhost thrpt 25 49420.748 ± 2091.631 ops/s LettuceThreads.pooled remote thrpt 25 7791.706 ± 133.507 ops/s LettuceThreads.shared socket thrpt 25 81195.900 ± 1593.424 ops/s LettuceThreads.shared localhost thrpt 25 78404.688 ± 3878.044 ops/s LettuceThreads.shared remote thrpt 25 3992.023 ± 39.092 ops/s
Benchmark (address) Mode Cnt Score Error Units LettuceThreads.pooled socket thrpt 25 87345.126 ± 8149.009 ops/s LettuceThreads.pooled localhost thrpt 25 75003.031 ± 4481.289 ops/s LettuceThreads.pooled remote thrpt 25 15807.410 ± 225.376 ops/s LettuceThreads.shared socket thrpt 25 169112.489 ± 3749.897 ops/s LettuceThreads.shared localhost thrpt 25 115464.778 ± 5099.728 ops/s LettuceThreads.shared remote thrpt 25 7952.492 ± 133.521 ops/s
양상추 쓸모없는, 그래서 당신은 여기에 성능 저울 아주 잘와 스레드의 수를 볼 수 있습니다.
from https://stackoverflow.com/questions/49409344/redis-is-single-thread-then-why-should-i-use-lettuce by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] java.lang.IllegalArgumentException가 :에 의한 (1)을 함유하는 [IsContaining는 포함 함유] 레디 스 질의 도출을 지원하지 않는 경우 - 레디 스 (0) | 2020.01.08 |
---|---|
[REDIS] 나는 각 연결에 대한 새로운 레디 스 클라이언트를 생성해야 하는가? (0) | 2020.01.08 |
[REDIS] 푸른 레디 스 캐시 - 여러 오류 TimeoutException : 제한 시간이 GET을 수행 {키} (0) | 2020.01.08 |
[REDIS] 레디 스 복제 설정 (0) | 2020.01.08 |
[REDIS] 레디 스에서 푸른 캐시 / DataCache 스타일의 지역 (0) | 2020.01.08 |