Redis

조성권·2022년 1월 29일
0
post-thumbnail

오늘은 Redis에 대해 알아보도록 하겠다.

1. Redis란?

Redis에 대한 사전적 정의를 내린다면 아래와 같이 이야기할 수 있다.

  • 사전적 정의
    Key-Value 기반의 In-Memory 데이터 저장소

즉, Redis는 Key-Value형태로 저장되는 NoSQL의 일종이며 In-Memory 방식으로 데이터를 CRUD한다.

2. Redis 장점?

그렇다면 Redis의 장점은 무엇일까?

In-Memory 방식
기본적으로 우리가 아는 대부분의 DBMS는 디스크에 데이터를 쓰는 구조로 이루어져 있다.
직접 물리 디스크로 저장하는 방식은 일관성은 보장되지만 속도면에서 다소 아쉬운 부분이 존재한다. 하지만 메모리에 데이터를 저장하고 조회하는 Redis는 이러한 면에서 우위에 있다는 점이 첫번째 장점이다.

Key-Value 형태 저장
No-SQL의 일종인 Redis는 다른 No-SQL과 유사하게 모든 데이터를 Key-Value 형태로 저장한다.
그리고 이러한 방식으로 데이터를 저장할 시, 장점은 첫번째 장점과 동일하게 조회 속도라고 볼 수 있다.

자료형 제공
Redis는 다른 No-SQL과 달리 자료구조를 지원한다. 즉, 각 데이터가 자료형을 갖을 수 있기 때문에 개발의 편의성이 향상되고 난이도가 낮아진다는 장점이 있다.

Redis 자료형 Type
Strings: 단순 Key/Value 매핑 구조
Lists: Array 형식의 데이터 구조
Sets: 순서없는 Strings 데이터 집합. 중복 제거
Sorted Sets: Sets과 동일한 특징을 갖지만 Score를 통해 정렬 가능
Hashes: Key/Value의 구조를 여러개 가진 Object 타입을 저장하기 좋은 구조

3. Redis 사용방법 (Mac M1)

3-1. Redis 설치하기

최초 redis를 설치하는 것부터 시작하도록 하자.

brew install redis


이제 redis server를 실행시켜주도록 하자
redis-server


서버를 실행시켰다면 이제 Client에 접속하도록 하자.
redis-cli


위와 같이 정상적으로 접근이 됐다면 redis 명령어를 사용할 준비는 끝났다고 볼 수 있다.
이제 데이터를 넣고 조회해보도록 하자.

3-2. Strings 자료형 다루기

Strings 데이터 추가: set key value
Strings 데이터 조회: get key

Strings 문자열 이어붙이기: append key "~~"

3-3. Sets 자료형 다루기

sets 데이터 추가: sadd set:key value
sets 데이터 조회: smembers set:key

앞서 언급한 것처럼 Sets는 순서를 보장하지 않기 때문에 넣는 순서대로 인입되지 않을 수 있다.

3-4. Sorted sets 자료형 다루기

Sorted sets 데이터 추가: zadd key score member
Sorted sets 데이터 조회: zrange key min max

앞서 사용해본 Set과 달리 Sorted Set은 score을 통해 우선순위를 명시하기 때문에 같은 score라면 먼저 들어온 순서 / 다른 score라면 조건에 맞는 순서대로 조회 가능하다.

3-5. Hashes 자료형 다루기

Hashes 데이터 추가: hset key field value
전체 Hashes 데이터 조회: hgetall key

profile
천천히, 완벽히 배워나가고자 하는 웹 서비스 엔지니어

0개의 댓글