Recent Comments
Link
Recent Posts
Today
Total
«   2025/07   »
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 31
관리 메뉴

Study Memory Work

[Redis] redis란? 자료구조 기초 본문

Data

[Redis] redis란? 자료구조 기초

Hera Choi 2023. 11. 2. 10:32

NoSql의 종류

  • 서로 연관된 그래프 형식의 데이터를 저장할 수 있는 Graph Store
  • Row가 아닌 Column 위주로 데이터를 저장하는 Column Store
  • 비정형 대량 데이터를 저장하기 위한 Document Store
  • 메모리 기반으로 빠르게 데이터를 읽어올 수 있는 Key-Value Store
 

Redis

인메모리 데이터베이스 NoSQL. Key-Value Store.

Remote Dictionary Server의 약자로, 원격 Dictinary 자료구조 서버 라는 직관적인 이름을 가지고 있다.

Redis는 인메모리DB 중에서도 다양한 자료구조의 데이터를 저장할 수 있음. (문자열, 리스트, 해시, 셋 등)

메모리 기반의 데이터베이스이기 때문에, Disk를 기반으로 하는 RDBMS보다 read가 빠르다.

 

DBMS로서의 장점

  • TTL 설정 → 일정 시간이 지나면 데이터 삭제, 용량이 작은 메모리의 효율적 관리
  • 분산 데이터 저장소 구성 → Redis Cluster 등 분산환경에서 안정적인 데이터 관리 가능
  • 보안체계 → 악성 스크립트 공격으로 부터 안전 보장, TLS 지원

 

 

Redis 영속성 옵션

레디스는 지속성을 보장하기 위해 데이터를 DISK에 저장. 서버가 내려가더라도 DISK에 저장된 데이터를 읽어서 메모리에 로딩데이터를 DISK에 저장.

  • RDB(Snapshotting) 방식
    • 순간적으로 메모리에 있는 내용을 DISK에 전체를 옮겨 담는 방식
  • AOF (Append On File) 방식
    • Redis의 모든 write/update 연산 자체를 모두 log 파일에 기록하는 형태
 

 

 

 

Redis 자료구조

# key-value
	# 입력
set {key} {"value"}
	# 추가
append {key} {"value"}
	# 출려
get {key}


# set
	# 입력
sadd set:{key} {value1}
sadd set:{key} {value2}
sadd set:{key} {value3}
sadd set:{key} {value4}
	# 출력
smembers set:{key}


# sortedSet
	# 입력
zadd {key} {가중치} {value1}
zadd {key} {가중치} {value2}
zadd {key} {가중치} {value3}
zadd {key} {가중치} {value4}
	# 출력
zrange {key} {출력범위}


# hashMap
	# 입력
hset {key} {value1} {value2}
hset {key} {value3} {value4}
	# 출력
hgetall {key}