Redis
레디스란 무엇일까?
- Remote Dictionary Server의 약자 (원격 사전 서버)
- key : value 쌍의 구조로 되어 있는 비정형 데이터 저장 관리 도구
- 언제나 키와 값이 존재해야한다.
- 데이터베이스 관리 시스템 (DataBase Management System, DBMS)라고도 한다.
레디스의 특징
- 맵(Map) 데이터 저장소
- 인-메모리 데이터베이스
- 영속성(Persistence) 보장 기능
- AOF(Append Only File)
- Snapshot
Collection 알아보기
- Strings, Lists, Sets, Sorted sets, Hashes
- Strings : 숫자를 입력해도 String이다 (레디스에는 숫자타입이 없다.)
- 대표적인 명령어 (명령어랑 데이터 타입은 딱 맞아떨어져야 한다. - Strings 명령어는 Strings에서만 사용가능하다.)
- SET
- GET
- INCR
- INCRBY
- DECR
- DECRBY
- Lists
- 대표적인 명령어
- LPUSH
- RPOP
- LPOP
- RPUSH
- LRAGNE
- Sets
- 대표적인 명령어
- sets은 집합이다 데이터들의 순서가 적용되지 않는다.
- 같은 데이터가 들어오면 무시된다
- SADD : ex) 집합에 member를 추가
- SMOVE
- SMEMBERS
- SCARD
- SPOP
- Sorted Sets(ZSets)
- 대표적인 명령어
- 데이터들의 순서가 적용된 집합이다.
- 같은 데이터가 들어오면 무시된다
- ZADD : ex) 집합에 score와 member를 추가
- ZRANGE
- ZPOPMIN
- ZPOPMAX
- ZCARD : 집합에 속한 memner의 갯수를 조회
- Hashes
- 대표적인 명령어
- 키 하나에 여러개의 필드가 있는 타입이다.
- HSET : Field 와 value를 저장
- HMSET
- HGET
- HDEL : Field 와 value를 삭제
- HINCRBY
- Hashes는 RDS의 Table과 유사하다.
- Hashes와 Table과 차이점
- 해시 데이터의 필드는 최대 40억개
- 테이블은 데이터를 변경하기 위해서 먼저 테이블을 변경해야함
- 해시는 즉시 필드의 삭제 수정이 가능
- Streams
- 레디스 5.0에서 추가된 타입이다.
- 연속적인 데이터를 처리한다.
- XADD
- XLEN
- XRANGE
- XREAD
- XDEL