250x250
Notice
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
- 일대다
- 유니크제약조건
- SQL프로그래밍
- 스프링 폼
- 연결리스트
- FetchType
- 다대다
- execute
- 힙
- shared lock
- fetch
- eager
- 연관관계
- JPQL
- CHECK OPTION
- 낙관적락
- 이진탐색
- PS
- 지연로딩
- 백트래킹
- BOJ
- 스토어드 프로시저
- exclusive lock
- dfs
- 즉시로딩
- querydsl
- 비관적락
- 다대일
- 데코레이터
- 동적sql
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
Redis 본문
728x90
# Redis
- Remote Dictionary Server
→ 외부에 있는 딕셔너리라는 자료 구조를 사용하는 서버
- Database, Cache, Message broker
- In-memory Data Structure Store
- Supports rich data structure
# Cache
- 나중의 요청에 대한 결과를 미리 저장했다가 빠르게 사용하는 것
# Redis의 탄생
데이터 베이스는 HDD, SSD에 저장.
메인 메모리에 저장해서 좀 더 빠르고 쉽게 데이터에 접근하면 어떨까 해서 탄생한 In-memory Database Redis.
더 자주 접근하고 덜 자주 바뀌는 데이터를 저장하자.
# Race Condition 해결
- Redis는 기본적으로 Single Threaded
- Redis 자료구조는 Atomic. Critical Section에 대한 동기화를 제공
- Critical Section : 프로세스 여러개가 동시에 접근하면 안되는 영역
- 서로 다른 Transaction Read/Write를 동기화
# 어디서 쓰나?
- 세션같이 여러 서버에서 같은 데이터를 공유할 때
- 서버를 여러 대 쓰지 않더라고, Atomic 자료구조 & Cache 기능을 사용하기 위해서 쓴다
# 주의해야 할 점
- Single Thread 서버 이므로 시간 복잡도를 고려해야 한다.
- In-memory 특성상 메모리 파편화, 가상 메모리등의 이해가 필요하다.
'etc' 카테고리의 다른 글
컴퓨터 구조와 Swap Memory (스왑 메모리) (0) | 2024.03.24 |
---|---|
Jetbrains사에 직접 요청하여 IntelliJ 학생인증 받기 (0) | 2023.09.15 |
[Git] add취소, commit 취소 (0) | 2023.04.29 |
IntelliJ에서 Git과 Github 사용하기 (0) | 2023.01.16 |
내용을 비우는 리눅스 명령어 (0) | 2022.12.18 |