Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바
- 동적프로그래밍
- 프로그래머스
- boj
- golang
- 코드워
- 파이썬
- redis
- OOM
- 주키퍼
- leetcode
- Linux
- Java
- programmers
- 튜토리얼
- dynamic programming
- scala
- 문제풀이
- gradle
- zookeeper
- codewars
- go
- docker
- 알고리즘
- Python
- 리눅스
- HBase
- DP
- 스칼라
- Go언어
Archives
- Today
- Total
파이문
[Redis] 레디스는 싱글 쓰레드인데 어떻게 동시에 접근하지? 본문
728x90
왜 레디스는 싱글쓰레드로 되어 있을까?
- 프로그래밍이 쉽다.
- 동시성에서 도움이 된다. (동시성과 병렬성은 다르다!)
- CPU 가 보틀넥이 아니다.
- 비용이 효율적이다.
레디스가 싱글 쓰레드인데 어떻게 동시에 접근하지?
우선 동시성에 의미를 다시 생각해봐야 한다.
서버에서 동시성과 병렬성은 다른 컨셉을 갖고 있다.
서버에서 동시성 I/O 를 지원한다는 의미는 하나의 계산 단위만을 가진 클라이언트가 여러 흐름을 실행함으로써, 서버가 여러개의 클라이언트에 서비스를 제공할 수 있다는 의미이다.
병렬은 서버가 여러가지 일을 동시에 할 수 있다는 것이다.
예를 들면 바텐더 여러 고객들을 보고 하나의 음료만 만든다는 것은 동시성은 갖고 있지만 병렬성은 없다는 것이다.
참고
- stackoverflow.com/questions/45364256/why-redis-is-single-threadedevent-driven
- stackoverflow.com/questions/10489298/redis-is-single-threaded-then-how-does-it-do-concurrent-i-o
'TIL' 카테고리의 다른 글
셸 업그레이드 후 zsh 가 안되는 문제 (0) | 2020.11.06 |
---|---|
Java ShutdownHook With Signal (0) | 2020.10.29 |
[HBase] 테이블 별 용량 확인하기 (0) | 2020.10.20 |
[Ansible] 디렉토리 생성 하기 (0) | 2020.09.17 |
[Java] FailSafe 를 사용한 Java Retry 예제 (0) | 2019.09.24 |
Comments