Redis의 개념
Redis는 고성능 키-값 저장소로서 String, List, Hash, Set, Sorted Set 등의 자료 구조를 지원하는 NoSQL이며 메모리에 데이터를 저장합니다. 별도의 쿼리 없이 Key를 통해 값을 빠르게 가져올 수 있으며 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 처리 속도가 매우 빠른 특징이 있습니다.
※ NoSQL이란 키 값 저장 공간으로 관계형 데이터베이스 보다 덜 제약적이며 저장 및 검색에 특화된 데이터베이스를 의미
Redis의 특징
- 영속성을 지원하는 인 메모리 데이터 저장소
- 다양한 자료구조 지원
- 싱글 스레드 방식으로 연산을 원자적으로 수행이 가능
- 읽기 성능 증대를 위한 서버 측 리플리케이션 지원
- 쓰기 성능 증대를 위한 클라이언트 측 샤딩 지원
Redis의 영속성
Redis는 기본적으로 메모리에 데이터를 저장하기 때문에 디스크에 쓰기 전에 장애가 발생한다면 메모리에 있던 데이터가 전부 사라질 위험이 있습니다. 때문에 영속성을 보장하기 위한 방법을 제공하는데 자세한 내용은 길어지므로 별도 포스팅으로 정리하겠습니다.
- RDB방식
- AOF방식
Redis의 자료구조
Strings
일반적인 Key - Value 형식의 자료구조로 1:1 관계입니다.
get key - key에 해당하는 value를 가져옵니다.
set key value - key에 value에 저장합니다.
del key - key를 삭제합니다.
List
List는 Redis Collection 중 하나로 Strings의 묶음 자료구조이며 First 또는 Last에 사입, 삭제가 가능합니다.
lpush key value - List First에 데이터를 추가합니다.
rpush key value - List Last에 데이터를 추가합니다.
lrange key start end - List의 start부터 end까지 element를 반환합니다.
lpop key - List의 첫 번째 데이터를 뺍니다.
rpop key - List의 마지막 데이터를 뻅니다.
Set
중복되지 않는 값을 가지는 Collection이며 순서를 가지지 않습니다. Set에서는 value를 member라고 표현합니다.
sadd key member - set에 member를 추가합니다.
srem key - set에서 key를 삭제합니다.
smembers key - set에 속해있는 모든 member를 조회합니다.
scard key - set에 속해있는 member의 갯수를 구합니다.
spop - set에서 무작위로 member를 가져옵니다.
Sorted Set
Set과 같이 중복되지 않는 값을 가지는 Collection이지만 가중치(Score)를 가지며 가중치에 따른 정렬된 순서를 가지고 있습니다.만일 가중치가 같다면 member로 정렬됩니다.
zadd key score member - set에 score와 member를 추가합니다.
zcard key- 집합 속에 있는 member의 갯수를 조회합니다.
zrange key start stop - index를 범위로 하여 조회합니다.
zrangebyscore key min max - score를 범위로하여 조회합니다.
Hash
key안에 또 다른 field - value로 이루어진 자료구조로 하나의 Key에 최대 40억개의 field와 value를 가질 수 있습니다.
hset key field value - key에 field와 value 쌍을 저장합니다.
hget key field - key에서 field로 value를 가져옵니다.
hdel key field - key에서 field를 삭제합니다.
hlen key - field의 갯수를 구합니다.
hgetAll key - field와 value를 모두 반환합니다.
hkeys key - 모든 field를 반환합니다.
hvals key - 모든 value를 반환합니다.
참고자료
https://steady-coding.tistory.com/586
[데이터베이스] Redis란?
cs-study에서 스터디를 진행하고 있습니다. Cache Cache의 개념 Cache란 나중에 요청할 결과를 미리 저장해둔 후 빠르게 서비스해 주는 것을 의미한다. 즉, 미리 결과를 저장하고 나중에 요청이 오면 그
steady-coding.tistory.com
[REDIS] 📚 캐시 데이터 영구 저장하는 방법 (RDB / AOF)
Redis 데이터의 영속성 (Redis Persistence) Redis는 In-memory DB 임에도 불구하고, 메모리 데이터를 disk에 저장할 수 있는 특징이 있다. 그래서 서버가 꺼진 후 restart되더라도, disk에 저장해놓은 데이타를
inpa.tistory.com
https://sabarada.tistory.com/104
[Redis] Redis의 기본 명령어
[Redis] 캐시(Cache)와 Redis [Redis] Redis의 기본 명령어 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisTemplate 편 [Java + Redis] Spring Data Redis로 Redis와 연동하기 - RedisRepository 편 안녕하세요. 오늘은 저번
sabarada.tistory.com
'데이터베이스 > Redis' 카테고리의 다른 글
[Redis] Window10에 Redis 설치 & 설정하기 (0) | 2023.03.14 |
---|