2024-12-16 TIL
오늘의 성과
오늘은 redis를 사용하려다 실패했다. redis를 좀 연구해보면 좋을 듯 하다.
redis란
오픈 소스의 인-메모리 키/값 저장소로, noSQL의 일종이라고 생각할 수 있다. 키-벨류 구조의(object, 또는 dict 형태) 데이터라면 뭐든 저장할 수 있으며 다양한 목적으로 사용할 수 있다.
사용 시 다른 데이터 저장소에 비해 빠른 속도를 가지고 있다는 것이 장점.
적은 양의 메모리를 사용하기 때문에 휘발성이라는 특징이 있다. 해당 문제를 보완하기 위해 데이터에 영속성을 제공한다.
RDB(Redis Database) : 메모리에 있는 데이터 전체에서 스냅샷을 작성하고 디스크로 저장하는 방식, 일정 시간마다 스냅샷 파일을 생성한다. 스냅샷 이후 데이터 변경은 복구 불가.
AOF(Append Only File) : 데이터가 변경되는 이벤트가 발생하면 모두 로그에 저장한다. 보안성은 확실하나 속도가 느리다. 실무에선 RDB, AOF 둘 다 동시에 사용한다.
속도의 장점 때문에 실무에서 많이 쓰인다고 한다.
장점
- 빠른 처리 속도
단점
- 저장 공간 졔약
사용 가능한 데이터 종류
데이터 | 설명 |
---|---|
string | 문자열 데이터 |
bitmap | 비트 연산을 할 수 있는 데이터 |
list | 리스트 |
hashes | 객체 데이터(key-value 형태) |
set | 중복을 허용하지 않는 리스트 |
sorted set(zset) | 정렬이 된 set |
hyperloglog | 확률적 자료구조, 집합의 데이터 개수를 추정할 수 있는 알고리즘 이름이자 레디스 자료 구조. 기존 hashset에 비해 용량을 덜 차지하며 대신 오차율이 좀 있다. |