일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 김영한
- 제프리리처
- 열혈 tcp/ip 프로그래밍
- C#
- 운영체제
- C++
- OS
- redis
- 10026번
- Spring
- Operating System
- 윤성우 저자
- Four Squares
- TCP/IP
- 스프링 입문
- inflearn
- 에러핸들링
- Operating System.
- 토마토
- 2475번
- BOJ
- HTTP
- Window-Via-c/c++
- 열혈 TCP/IP 소켓 프로그래밍
- FIFO paging
- 이펙티브코틀린
- n타일링2
- 스프링 핵심 원리
- 우아한 테크 세미나
- 우아한레디스
- Today
- Total
나의 브을로오그으
#0. Redis가 뭐지? 본문
Redis에 대해 소개하는 영상이다.
Redis가 뭔지 모르고 간단한 소개영상만 보고 쓰는 글이다.
https://www.youtube.com/watch?time_continue=13&v=Gimv7hroM8A&feature=emb_logo
1. Redis(Remote Dictionary Server)
- 외부(원격)에 있는 key-value 쌍으로 자료구조 형태로 데이터를 저장하는 서버
- 데이터 베이스, 캐시
- 메모리 상에 데이터를 저장하는 서버
(Cache : 나중에 요청에 대한 결과를 미리 저장했다가 빠르게 사용하는 것)
- In-Memory Database (Cache) : Database보다 더 빠른 Memory에 더 자주 접근하고 덜 자주 바뀌는 데이터를 저장한다.
2. 다양한 자료구조
- Collection
- String, List, Set, Sorted Set, Hash 등등
3. 발생 할 수 있는 문제
- Consistency 문제
- Race Condition 문제 : 여러 개의 Thread가 경합하는 것.
(Context Switching에 따라 예측하지 않은 결과가 발생 할 수 있음.)
여러개의 쓰레드를 사용하면 Critical Section이 생길 수 있기에 이런 부분에 대한 동기화가 필요함.
[해결책]
Redis는 기본적으로 Single Threaded
Redis의 자료구조는 Atomic Critical Section에 대한 동기화를 제공
서로 다른 Transaction의 read/write 동기화 제공
4. 사용처
- 여러 서버에서 같은 데이터를 공유할 때
- Single Server라면? Atomic 자료구조 & Cache
5. 주의할 점
- Single Thread 서버이므로 시간 복잡도를 고려해서 명령어를 사용해야 한다.
- In-Memory 특성상 메모리 파편화(단편화), 가상 메모리 등에 대한 배경지식이 필요하다.
'DB > Redis' 카테고리의 다른 글
#1. [우아한 테크 세미나 191121] 우아한레디스 보고 정리-2부 (0) | 2022.08.08 |
---|---|
#1. [우아한 테크 세미나 191121] 우아한레디스 보고 정리-1부 (0) | 2022.08.08 |